Spec-Zone.ru › HTTP

HTTP

HTTP: протокол передачи гипертекста

HTTP — это протокол прикладного уровня для передачи гипермедийных документов, таких как HTML. Он был разработан для взаимодействия между веб-браузерами и веб-серверами, но также может использоваться и для других целей, например для взаимодействия между компьютерами, программного доступа к API и многого другого.

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

Руководства

HTTP — это расширяемый протокол, основанный на таких понятиях, как ресурсы и унифицированные идентификаторы ресурсов (URI), базовая структура сообщений и клиент-серверная модель взаимодействия. На основе этих понятий за прошедшие годы было разработано множество расширений, добавляющих функциональность и обновлённую семантику, в том числе дополнительные методы и заголовки HTTP.

Руководства по HTTP перечислены в порядке от общих обзоров до специализированных материалов, посвящённых конкретным сценариям использования. Новичкам рекомендуется начать с основных руководств, прежде чем переходить к более узким темам.

Обзор HTTP

Основные характеристики HTTP, его возможности, предполагаемое применение в веб-архитектуре и место в стеке протоколов.

Эволюция HTTP

HTTP появился в начале 1990-х годов и с тех пор неоднократно расширялся. В этой статье рассматривается его история и описываются HTTP/0.9, HTTP/1.0, HTTP/1.1, HTTP/2 и HTTP/3, а также нововведения, появившиеся за эти годы.

Типичный сеанс HTTP

Описывает ход сеанса HTTP: от установления соединения и отправки запроса до получения ответа.

Сообщения HTTP

Сообщения HTTP, передаваемые в виде запросов и ответов, имеют определённую структуру. В этой статье описываются эта общая структура, её назначение и различные типы сообщений.

Типы MIME

Начиная с HTTP/1.0 появилась возможность передавать различные типы содержимого. В этой статье объясняется, как это реализовано с помощью заголовка Content-Type и стандарта MIME. Краткий список распространённых типов, используемых веб-разработчиками, приведён в статье Распространённые типы MIME.

Сжатие в HTTP

Браузеры и серверы сжимают сообщения перед отправкой по сети, чтобы сократить объём передаваемых данных, повысить скорость передачи и эффективнее использовать пропускную способность.

Кэширование HTTP

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

Аутентификация HTTP

Аутентификация позволяет проверить личность клиента, отправляющего запросы серверу. Она гарантирует, что доступ к определённым ресурсам получат только авторизованные пользователи или системы.

Использование файлов cookie HTTP

Хотя HTTP — это протокол без сохранения состояния, сервер может отправить в ответе заголовок Set-Cookie. Затем клиент передаёт значение файла cookie с каждым последующим запросом к серверу в виде заголовка запроса Cookie. Это позволяет хранить и передавать небольшой объём данных, фактически добавляя состояние некоторым взаимодействиям между клиентом и сервером.

Перенаправления в HTTP

Перенаправление URL, также известное как переадресация URL, — это способ назначить странице, форме, целому сайту или веб-приложению несколько адресов URL. Для этого в HTTP предусмотрен специальный тип ответа, называемый перенаправлением HTTP.

Условные запросы HTTP

При условных запросах результат зависит от значения валидатора в запросе. Этот метод широко используется при кэшировании, а также в таких сценариях, как возобновление загрузки, предотвращение потери изменений при редактировании документа на сервере и многих других.

Диапазонные запросы HTTP

Диапазонный запрос просит сервер отправить клиенту определённую часть или части ресурса вместо ресурса целиком. Такие запросы полезны, когда клиенту нужна только часть большого файла или когда приложение позволяет пользователю приостанавливать и возобновлять загрузку.

Согласование содержимого

В HTTP определён набор заголовков сообщений, начинающихся с Accept, с помощью которых браузер сообщает о предпочитаемом формате, языке или кодировке. В этой статье объясняется, как браузер сообщает об этих предпочтениях, как должен реагировать сервер и как он выбирает наиболее подходящий ответ на запрос.

Управление соединениями в HTTP/1.x

HTTP/1.1 стал первой версией HTTP с поддержкой постоянных соединений и конвейерной передачи запросов. В этой статье объясняются оба понятия, в том числе их преимущества и недостатки.

Механизм обновления протокола

В HTTP/1.1 предусмотрен механизм обновления уже установленного соединения до другого протокола с помощью заголовка Upgrade. Клиент может обновить соединение с HTTP/1.1 до HTTP/2 или соединение HTTP(S) до WebSocket (ws / wss).

Прокси-серверы и туннелирование

Прокси может находиться на локальном компьютере пользователя или в любом месте между компьютером пользователя и целевым сервером в Интернете. На этой странице приведены основные сведения о прокси и рассмотрены некоторые параметры настройки.

Подсказки клиента HTTP

Client Hints — это набор заголовков запросов, с помощью которых сервер может заранее запросить у клиента сведения об устройстве, сети, пользователе и предпочтениях, характерных для пользовательского агента. Затем сервер может определить, какие ресурсы отправить, исходя из сведений, которые клиент согласится предоставить.

Журналирование сетевых ошибок

Журналирование сетевых ошибок — это механизм, который можно настроить с помощью заголовка HTTP-ответа NEL. Этот экспериментальный заголовок позволяет сайтам и приложениям подписаться на получение отчётов о неудачных (и даже успешных) сетевых запросах, выполненных в поддерживающих эту возможность браузерах.

Определение браузера с помощью пользовательского агента

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

Безопасность и конфиденциальность

Политика разрешений

Политика разрешений позволяет веб-разработчикам явно указывать, какие возможности можно и нельзя использовать на сайте. Вы задаёте набор «политик», которые ограничивают доступ к API для кода сайта или изменяют стандартное поведение браузера для определённых функций.

Обмен ресурсами между источниками (CORS)

Межсайтовые HTTP-запросы — это запросы ресурсов из домена, отличного от домена ресурса, отправляющего запрос. Сегодня веб-страницы очень часто загружают ресурсы с других сайтов. Например, страница «Домен A» (http://domaina.example/) запрашивает изображение с «Домена B» (http://domainb.foo/image.jpg) с помощью элемента img. CORS позволяет веб-разработчикам контролировать реакцию сайта на межсайтовые запросы.

Политика безопасности содержимого (CSP)

CSP позволяет администраторам сайтов управлять тем, какие ресурсы клиенту разрешено загружать для заданной страницы, с помощью заголовка ответа Content-Security-Policy. В руководстве по CSP описан общий механизм политики безопасности содержимого, который помогает обнаруживать атаки определённых типов и снижать их последствия, включая межсайтовый скриптинг (XSS) и атаки с внедрением данных.

Политика ресурсов между источниками (CORP)

CORP позволяет сайтам и приложениям включить защиту от определённых запросов с других источников (например, отправляемых с помощью таких элементов, как <script> и <img>), чтобы снизить риск спекулятивных атак по побочным каналам.

Рекомендации Mozilla по безопасности веб-приложений

Сборник советов для операционных команд по созданию безопасных веб-приложений.

Связанные ресурсы

URI

Унифицированные идентификаторы ресурсов (URI) используются для описания и поиска ресурсов в Интернете и являются важной частью HTTP-запросов.

Настройка серверов для медиафайлов Ogg

В этом руководстве рассматриваются некоторые изменения конфигурации сервера, необходимые для правильной передачи медиафайлов Ogg веб-сервером. Эти сведения могут пригодиться и в том случае, если вы столкнётесь с другими типами медиафайлов, которые сервер пока не распознаёт.

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

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

Инструменты разработчика Firefox

Монитор сети

HTTP Observatory

Проект, призванный помочь разработчикам, системным администраторам и специалистам по безопасности безопасно настроить свои сайты.

RedBot

Инструменты для проверки заголовков, связанных с кэшированием.

nghttp2

Реализация клиента, сервера и прокси HTTP/2 на языке C с инструментами нагрузочного и сравнительного тестирования, а также кодировщиком и декодировщиком HPACK.

curl

Инструмент командной строки для передачи данных, указанных в формате URL. Поддерживает HTTP, HTTPS, WS, WSS и многие другие протоколы.

Как работают браузеры (2011)

Подробная статья о внутреннем устройстве браузеров и прохождении запросов по протоколу HTTP.

Справочник

В справочнике HTTP содержатся подробные сведения о заголовках, методах запросов и кодах состояния ответов, а также списки соответствующих спецификаций и стандартов.

Заголовки HTTP

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

Методы запросов HTTP

Методы запросов указывают цель запроса и ожидаемый результат в случае его успешного выполнения. Наиболее распространённые методы — GET и POST, предназначенные соответственно для получения и отправки данных на серверы, однако существуют и другие методы для иных целей.

Коды состояния ответов HTTP

Коды состояния ответов указывают результат конкретного HTTP-запроса. Ответы делятся на пять классов: информационные, успешные, перенаправления, ошибки клиента и ошибки сервера.

Ресурсы и спецификации HTTP

На этой странице перечислены материалы об HTTP, начиная с первых спецификаций, опубликованных в начале 1990-х годов.

Также заслуживают внимания следующие подразделы:

Директивы CSP

Заголовок ответа Content-Security-Policy (CSP) позволяет администраторам сайта указывать, какие ресурсы пользовательскому агенту разрешено загружать для заданной страницы. В этом разделе перечислены директивы, которые можно использовать в заголовке CSP; для каждой директивы есть отдельная страница с описанием её работы и применения.

Директивы Permissions-Policy

Заголовок ответа Permissions-Policy позволяет разрешать или запрещать использование функций браузера в документе или любом элементе <iframe> в документе. В этом разделе перечислены директивы, которые можно использовать в заголовке Permissions-Policy; для каждой директивы есть отдельная страница с описанием её работы и применения.

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API