Рубрика «http»

Пару дней назад я опубликовал этот твит:

http:--http:--http:--@http:--http:--?http:--#http:-- - 1

Учитывая то, насколько много я получил комментов и ответов, я решил разобрать это подробнее. Правда ли это валидный URL? Во что он парсится? Что вообще такое URL?

curl

Начнем с curl. Он разбирает эту строку, как и должен — как валидный URL. Чтобы было понятнее, я раскрасил его составные части:

Читать полностью »
Почему ваш веб-сайт должен быть меньше 14 КБ - 1

Чем меньше веб-сайт, тем быстрее он грузится, и это неудивительно.

Удивительно то, что страница на 14 КБ может грузиться гораздо быстрее, чем страница на 15 КБ, даже на 612 мс быстрее, хотя разница между страницами на 15 КБ и 16 КБ минимальна.

Так происходит из-за алгоритма медленного старта TCP. В этой статье я расскажу, что это такое, как оно работает и почему это важно. Но сначала мы вкратце расскажем об основах.
Читать полностью »

Начнем с написания простого веб-сервера.

package main

import (
	"fmt"
	"net/http"
)

func main() {
	http.HandleFunc("/", wsHandler)
	http.ListenAndServe(":8000", nil)
}

func wsHandler(w http.ResponseWriter, r *http.Request) {
	fmt.Println(r.Header)
	fmt.Fprintln(w, "Hello, World!")
}

Благодаря стандартной библиотеке написать многопоточный веб-сервер на Go проще чем на любом другом языке.

Для тех, кто незнаком с Go

Прим. перев.: автор данного исследования — Marc Richards, Solutions Architect и DevOps-инженер — продемонстрировал потрясающую настойчивость и тщательность в тотальной оптимизации производительности веб-приложения. Получившийся материал — кладезь полезных знаний для расширения своего кругозора в области оптимизации, особенностей сетевого стека в Linux и не только, даже вне зависимости от практической заинтересованности в конечном результате автора. Приготовьтесь к по-настоящему длинному техническому путешествию с обилием терминологии, увлекательных графиков и полезных ссылок.

Читать полностью »

Эволюция HTTP для современного веба - 1
Поле Cache-Control в заголовке ответа от Хабра

Кто двигает научно-технический прогресс? Учёные, которые шлифуют термоядерный синтез, чтобы человечество могло отказаться от ископаемого топлива. Предприниматели, которые финансируют марсианскую программу и разработку новых ракет. И, конечно, инженеры рабочей группы HTTPbis, которые совершенствуют протокол передачи гипертекста.

Прямо сейчас в разработке находится несколько спецификаций для новых полей HTTP в заголовках запросов и ответов, которые сделают нашу жизнь гораздо лучше во многих отношениях — в кешировании контента, в управлении обратными прокси, а также в установке гибких квот на количество запросов к серверу. О чём ещё можно мечтать? Перечислим некоторые из планируемых улучшений, с максимально кратким пояснением.
Читать полностью »

Does the latency matter? - 1

Есть исследование от Google, которое говорит, что если ваш сайт открывается больше трех секунд, то вы потеряете около 40% десктопных пользователей и более 50% — мобильных. Еще есть репорт от Amazon, который говорит, что для Amazon каждые 100 мс дополнительного latency стоит им 1% продаж. В объемах Amazon это миллионы долларов.

В зависимости от вашего бизнеса вам стоит тоже ответить на вопрос: Does the latency matter?

Читать полностью »

Прим. перев.: эту статью написал автор Open Source-утилиты HTTP Toolkit, предназначенной для исследования и модификации HTTP(S)-трафика для нужд отладки и тестирования. В материале собраны примечательные особенности стандарта HTTP, которые долгие годы живут вместе с нами, однако не каждый догадывается об их существовании.

Протокол HTTP имеет огромное значение для всей современной разработки — от фронтенда до бэкенда и мобильных систем. Но, как и у любого другого  широко распространенного зрелого стандарта, у него в шкафу запрятано несколько любопытных скелетов.

Читать полностью »

image

13 сентября 2020 года в России прошёл единый день голосования. В некоторых регионах оппозицией была применена стратегия «Умного Голосования», заключающаяся в том, что оппозиционно настроенные избиратели голосуют за единого кандидата, имеющего наивысшие шансы победить представителя от властей.

Процесс отбора кандидатов для «Умного Голосования» уже второй год вызывает дискуссии на тему своей прозрачности. Кроме того, лично меня смущают сложности с подведением итогов стратегии, с которыми могут столкнуться независимые аналитики. Организаторы УмГ не публикуют подробные итоги стратегии, а лишь диаграммы, демонстрирующие сколько оппозиционных кандидатов прошло в региональный парламент.

На сайте «Умного Голосования» нельзя получить список поддержанных кандидатов, указав, например, город и округ. Если кто-то захочет собрать данные по региону, ему предстоит монотонная работа по подбору адресов для каждого округа.

Ни в коем случае не упрекаю разработчиков сайта УмГ, он имеет весь требуемый функционал для реализации стратегии голосования. Но в связи с тем, что в 2019 году никто не занимался сбором и публикацией подробных данных по итогам УмГ (вне московских выборов), на этих выборах я решил взять инициативу в свои руки.

В итоге получилась вот такая сводная таблица. В данной статье я расскажу, как был получен приведённый набор данных, как собиралась информация с сайтов Умного Голосования и нового веб-сервиса ЦИК.

image

Читать полностью »

Впервые уязвимость была обнаружена еще 26.06.2020, о чем автор тут же сообщил техподдержке Дом.ru. Автор долго и упорно пытался решить проблему непублично, но встретил полное её непонимание техническими специалистами. Провайдер уверяет, что случай автора единичный, но сегодня пришло подтверждение наличия проблемы и у других источников. Автор не публикует ничьих личных данных и не призывает к противоправным действиям. Написание этой статьи — вынужденная мера.

Хотя, если уж провайдер прямо говорит что всё нормально, то никаких рисков общедоступное описание работы его сервисов вообще не должно нести.

В чем суть?

Крупный интернет-провайдер Дом.ru перехватывает http-трафик пользователя и, время от времени, переадресует его на свою рекламную страницу вместо целевой. В теле рекламной страницы провайдер передает ссылку для настройки или отписки от рекламных уведомлений, которая ведет на личный кабинет пользователя. Эта ссылка открывает полный доступ к личному кабинету пользователя без ввода логина и пароля и позволяет делать это из любой точки мира. Рекламная страница передается по незашифрованному протоколу http. Это значит, что на любом узле (или даже через врезку) между вами и сервером, отвечающим за выдачу рекламных страниц (info.ertelecom.ru), могла произойти утечка, и неважно что сам личный кабинет после перехода по ссылке работает по https.
Читать полностью »

Введение

Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответствии со спецификацией. Задача обеспечения безопасности REST API не так очевидна, как, например, обеспечение безопасности баз данных, но ее необходимость не менее важна.
В настоящее время многие онлайн системы с помощью API передают приватные данные пользователей, такие как медицинские или финансовые. Текущая же ситуация с безопасностью в веб-приложениях весьма печальна: по данным Comnews порядка 70% содержат кри­тичес­кие уязвимости. Поэтому всем, кто участвует в проектировании, реализации и тестировании онлайн систем, важно иметь общую картину по существующим угрозам и способам обеспечения безопасности как всей системы, так и используемого REST API.

В статье я попытался обобщить информацию о существующих уязвимостях REST API, чтобы у читателей сложилась общая картина. На схемах представлена современная архитектура клиент-сервер и обобщенный REST API запрос с потенциальными угрозами безопасности. Далее я подробнее расскажу об этих угрозах, и как технически реализовать защиту от них.

image
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js