Протокол передачи гипертекста (Hypertext Transfer Protocol - HTTP) - это прикладной протокол для передачи гипертекстовых документов, таких как HTML. Он создан для связи между веб-браузерами и веб-серверами, хотя в принципе HTTP может использоваться и для других целей. Протокол следует классической клиент-серверной модели, когда клиент открывает соединение для создания запроса, а затем ждет ответа. HTTP - это протокол без сохранения состояния, то есть сервер не сохраняет никаких данных (состояние) между двумя парами "запрос-ответ". Несмотря на то, что HTTP основан на TCP/IP, он также может использовать любой другой протокол транспортного уровня с гарантированной доставкой.

Учебники

Узнайте, как использовать HTTP, благодаря учебникам и руководствам.

Обзор HTTP
Основные свойства клиент-серверного протокола: что можно сделать и для чего он предназначен.
HTTP-кэширование (HTTP Cache)
Кэширование - это важнейший инструмент для повышения производительности веб-сайтов. Эта статья описывает разные виды кэша, а также использование HTTP-заголовков для конфигурации и управления кэшированием.
HTTP-куки (HTTP cookies)
Как работают куки, можно почитать в RFC 6265. При обслуживании HTTP-запроса сервер может отправить в ответе HTTP-заголовок Set-Cookie. После этого значение куки посылается клиентом с каждым запросом к этому серверу. Делается это в форме заголовка запроса Cookie. Дополнительно можно указать истечение срока куки, а так же ограничения для специфического домена или пути.
Контроль доступа (совместное использование ресурсов между разными источниками, HTTP access control (CORS))
Межсайтовые HTTP-запросы (кросс-сайтовые) - это HTTP-запросы к ресурсам, находящимся в домене, отличающемся от того, с которого производится запрос. Например, HTML-страница, загружаемая с домена А (http://domaina.example), запрашивает изображение с домена Б (http://domainb.foo), используя тег img (http://domainb.foo/image.jpg). Это происходит постоянно в мире веба: страницы загружают различные ресурсы в кросс-сайтовой манере, включая стили (CSS), изображения, скрипты и другие ресурсы. CORS позволяет разработчикам сайтов контролировать межсайтовые запросы.
Эволюция HTTP
Краткое описание изменений, произошедших в HTTP, начиная с самых ранних версий, заканчивая новой HTTP/2 и далее.
Принципы веб-безопасности Mozilla
Сборник советов для помощи в разработке защищённых веб-приложений.
HTTP-сообщения (HTTP Messages)
Описывает тип и структуру разных видов сообщений HTTP/1.x и HTTP/2.
Обычный сеанс HTTP
Показывает и описывает течение обычного сеанса HTTP.
Управление подключениями в HTTP/1.x
Описывает три модели управления подключениями, доступными в HTTP/1.x, их сильные и слабые стороны.
Контроль предварительной загрузки DNS (Controlling DNS prefetching)
Firefox, как и большинство других браузеров, выполняет предварительную загрузку DNS (DNS prefetching). Это действие, когда браузеры превентивно выполняют разрешение доменных имён (получают имена доменов) для ссылок, по которым пользователь может перейти, а также для ссылок на ресурсы, такие как картинки, CSS,  JavaScript. Эта предварительная загрузка выполняется в фоновом режиме, так что вполне вероятно, что к моменту обращения к объектам в документе DNS уже получен. Это уменьшает задержки, когда, например, пользователь кликает на ссылку.

Справочники

Глубже изучите HTTP с помощью справочников и документации.

HTTP-заголовки (HTTP Headers)
Заголовки HTTP-сообщения используются для точного описания загружаемого ресурса или поведения сервера или клиента. Пользовательские заголовки можно добавить, используя X- префикс; другие перечислены в  IANA registry, содержание которого в свою очередь определено в RFC 4229. IANA так же поддерживает регистр предложенных новых HTTP-заголовков.
Методы HTTP-запроса
Различные операции, которые выполняются с HTTP:  
Коды ответа (HTTP response codes)
Коды ответа HTTP указывают на результат выполнения определенного HTTP-запроса. Ответы сгруппированы в пять категорий: информационные ответы, удачные ответы, перенаправления, ошибки клиента и ошибки сервера.
Директивы CSP
Поля заголовка ответа Content-Security-Policy позволяют администраторам веб-сайтов контролировать ресурсы, которые браузер пользователя может загрузить на данную веб-страницу. За некоторым исключением, эти политики связаны с указанием сервера-источника и адресов доступа (обращения) скриптов.

Инструменты и ресурсы

Полезные инструменты и ресурсы для понимания и отладки HTTP.

Инструменты разработчика Firefox
Сетевой монитор
Mozilla Observatory
Проект, созданный в помощь разработчикам, системным администраторам и специалистам по безопасности для создания безопасных и надёжных сайтов.
RedBot
Инструмент для проверки кэширования заголовков.
Принципы работы современных веб-браузеров
Комплексная статья по внутренностям браузеров и потоку запросов через протокол HTTP. Это нужно понимать всем веб-разработчикам.

См. также

Метки документа и участники

Внесли вклад в эту страницу: e-evdokimov, stonetrooper, djigach, pk.prog, warnabas, nilfalse, lerniri, Sheppy
Обновлялась последний раз: e-evdokimov,