Заголовки HTTP
==============

**Заголовки HTTP** позволяют клиенту и серверу отправлять дополнительную информацию с HTTP запросом или ответом. В HTTP-заголовке содержится не чувствительное к регистру название, а затем после (`:`) непосредственно значение. Пробелы перед значением игнорируются.

Пользовательские собственные заголовки исторически использовались с префиксом X, но это соглашение было объявлено устаревшим в июне 2012 года из-за неудобств, вызванных тем, что нестандартные поля стали стандартом в RFC 6648; другие перечислены в реестре IANA, исходное содержимое которого было определено в RFC 4229. IANA также поддерживает реестр предлагаемых новых заголовков HTTP.

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

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

* Основные заголовки применяется как к запросам, так и к ответам, но не имеет отношения к данным, передаваемым в теле.
* Заголовки запроса содержит больше информации о ресурсе, который нужно получить, или о клиенте, запрашивающем ресурс.
* Заголовки ответа (en-US) содержат дополнительную информацию об ответе, например его местонахождение, или о сервере, предоставившем его.
* Заголовки сущности содержат информацию о теле ресурса, например его длину содержимого или тип MIME (en-US).

Заголовки также могут быть сгруппированы согласно тому, как прокси (proxies) обрабатывают их:

* `Connection`
* `Keep-Alive` (en-US)
* `Proxy-Authenticate` (en-US)
* `Proxy-Authorization` (en-US)
* `TE` (en-US)
* `Trailer` (en-US)
* `Transfer-Encoding` (en-US)
* `Upgrade` (en-US).

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

**Хоп-хоп заголовки (Хоп-хоп заголовки)**
 Эти заголовки имеют смысл только для одного соединения транспортного уровня и не должны повторно передаваться прокси или кешироваться. Обратите внимание, что с помощью общего заголовка `Connection` могут быть установлены только заголовки переходов.

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

**`WWW-Authenticate` (en-US)**
 Определяет метод аутентификации, который должен использоваться для доступа к ресурсу.
 **`Authorization`**
 Содержит учётные данные для аутентификации агента пользователя на сервере.
 **`Proxy-Authenticate` (en-US)**
 Определяет метод аутентификации, который должен использоваться для доступа к ресурсам на прокси-сервере.
 **`Proxy-Authorization` (en-US)**
 Содержит учётные данные для аутентификации агента пользователя с прокси-сервером.

Ниже перечислены основные HTTP заголовки с кратким описанием:

| Заголовок | Описание | Подробнее | Стандарт |
| --- | --- | --- | --- |
| `Accept` | Список MIME типов, которые ожидает клиент. | HTTP Content Negotiation | HTTP/1.1 |
| `Accept-CH`

Non-standard
 | 
 Список конфигурационных данных, которые могут быть учтены сервером при
 выборе соответствующего ответа клиенту.
  | HTTP Client Hints |  |
| `Accept-Charset` | Список кодировок, которые ожидает клиент. | HTTP Content Negotiation | HTTP/1.1 |
| `Accept-Features` |  | HTTP Content Negotiation | RFC 2295, §8.2 |
| `Accept-Encoding` | Список форматов сжатия данных, которые поддерживает клиент. | HTTP Content Negotiation | HTTP/1.1 |
| `Accept-Language` | Определяет языковые предпочтения клиента. | HTTP Content Negotiation | HTTP/1.1 |
| `Accept-Ranges` |  |  |  |
| `Access-Control-Allow-Credentials (en-US)` |  | HTTP Access Control (en-US)
 and
 Server Side Access Control (en-US) | W3C Cross-Origin Resource Sharing |
| `Access-Control-Allow-Origin (en-US)` |  | HTTP Access Control (en-US)
 and
 Server Side Access Control (en-US) | W3C Cross-Origin Resource Sharing |
| `Access-Control-Allow-Methods (en-US)` |  | HTTP Access Control (en-US)
 and
 Server Side Access Control (en-US) | W3C Cross-Origin Resource Sharing |
| `Access-Control-Allow-Headers (en-US)` |  | HTTP Access Control (en-US)
 and
 Server Side Access Control (en-US) | W3C Cross-Origin Resource Sharing |
| `Access-Control-Max-Age (en-US)` |  | HTTP Access Control (en-US)
 and
 Server Side Access Control (en-US) | W3C Cross-Origin Resource Sharing |
| `Access-Control-Expose-Headers (en-US)` |  | HTTP Access Control (en-US)
 and
 Server Side Access Control (en-US) | W3C Cross-Origin Resource Sharing |
| `Access-Control-Request-Method (en-US)` |  | HTTP Access Control (en-US)
 and
 Server Side Access Control (en-US) | W3C Cross-Origin Resource Sharing |
| `Access-Control-Request-Headers (en-US)` |  | HTTP Access Control (en-US)
 and
 Server Side Access Control (en-US) | W3C Cross-Origin Resource Sharing |
| `Age (en-US)` |  |  |  |
| `Allow (en-US)` |  |  |  |
| `Alternates` |  | HTTP Content Negotiation | RFC 2295, §8.3 |
| `Authorization` |  |  |  |
| `Cache-Control` |  | HTTP Caching FAQ (en-US) |  |
| `Connection` | 
 Определяет, остаётся ли сетевое соединение открытым после завершения
 текущей транзакции (запроса).
  |  |  |
| `Content-Encoding` |  |  |  |
| `Content-Language` |  |  |  |
| `Content-Length` |  |  |  |
| `Content-Location (en-US)` |  |  |  |
| `Content-MD5` |  | Не реализовано (смотрите Firefox bug 232030) |  |
| `Content-Range (en-US)` |  |  |  |
| `Content-Security-Policy (en-US)` | Реализует механизм защиты от угроз межсайтового выполнения скриптов. | CSP (Content Security Policy) | W3C Content Security Policy |
| `Content-Type` | Позволяет клиенту определить MIME тип документа. |  |  |
| `Cookie (en-US)` |  |  | RFC 2109 |
| `DNT` | 
 With a value of 1, indicates that the user explicitly opts out of any
 form of online tracking.
  | 
 Supported by Firefox 4, Firefox 5 for mobile, IE9, and a few major
 companies.
  | Tracking Preference Expression (DNT) |
| `Date` |  |  |  |
| `ETag` |  | HTTP Caching FAQ (en-US) |  |
| `Expect` |  |  |  |
| `Expires` |  | HTTP Caching FAQ (en-US) |  |
| `From (en-US)` |  |  |  |
| `Host` |  |  |  |
| `If-Match` |  |  |  |
| `If-Modified-Since` |  | HTTP Caching FAQ (en-US) |  |
| `If-None-Match (en-US)` |  | HTTP Caching FAQ (en-US) |  |
| `If-Range (en-US)` |  |  |  |
| `If-Unmodified-Since` |  |  |  |
| `Last-Event-ID` | 
 Содержит идентификатор последнего события полученного клиентом от
 сервера в предыдущем HTTP запросе. Используется для восстановления
 синхронизации потока `text/event-stream`.
  | Server-Sent Events (en-US) | Server-Sent Events spec |
| `Last-Modified` |  | HTTP Caching FAQ (en-US) |  |
| `Link (en-US)` | 
 Содержит ссылки на связанные ресурсы и определяет их отношение к
 отправленному документу.
  | 
 For the `rel=prefetch` case, see
 Link Prefetching FAQ (en-US)
 | 
 Introduced in
 HTTP 1.1's RFC 2068, section 19.6.2.4, it was removed in the final
 HTTP 1.1 spec, then reintroduced, with some extensions, in
 RFC 5988
 |
| `Location (en-US)` |  |  |  |
| `Max-Forwards (en-US)` |  |  |  |
| `Negotiate` |  | HTTP Content Negotiation | RFC 2295, §8.4 |
| `Origin (en-US)` |  | HTTP Access Control (en-US)
 and
 Server Side Access Control (en-US) | 
 More recently defined in the
 Fetch spec
 (see Fetch API.) Originally
 defined in
 W3C Cross-Origin Resource Sharing |
| `Pragma` |  | 
 for the pragma: nocache value see
 HTTP Caching FAQ (en-US) |  |
| `Proxy-Authenticate (en-US)` |  |  |  |
| `Proxy-Authorization (en-US)` |  |  |  |
| `Range` |  |  |  |
| `Referer` | 
 Содержит URL-адрес ресурса, из которого был запрошен обрабатываемый
 запрос. Если запрос поступил из закладки, прямого ввода адреса
 пользователем или с помощью других методов, при которых исходного
 ресурса нет, то этот заголовок отсутствует или имеет значение
 "about:blank".


 Это ошибочное имя заголовка (referer, вместо referrer) было введено
 в спецификацию HTTP/0.9, и ошибка должна была быть сохранена в более
 поздних версиях протокола для совместимости.

 |  |  |
| `Retry-After` |  |  |  |
| `Sec-Websocket-Extensions` |  |  | Websockets |
| `Sec-Websocket-Key` |  |  | Websockets |
| `Sec-Websocket-Origin` |  |  | Websockets |
| `Sec-Websocket-Protocol` |  |  | Websockets |
| `Sec-Websocket-Version` |  |  | Websockets |
| `Server (en-US)` |  |  |  |
| `Set-Cookie` |  |  | RFC 2109 |
| `Set-Cookie2 (en-US)` |  |  | RFC 2965 |
| `Strict-Transport-Security` |  | HTTP Strict Transport Security (en-US) | IETF reference |
| `TCN` |  | HTTP Content Negotiation | RFC 2295, §8.5 |
| `TE (en-US)` |  |  |  |
| `Trailer (en-US)` | 
 lists the headers that will be transmitted after the message body, in a
 trailer block. This allows servers to compute some values, like
 `Content-MD5:` while transmitting the data. Note that the
 `Trailer:` header must not list the
 `Content-Length:,` `Trailer:` or
 `Transfer-Encoding:` headers.
  |  | RFC 2616, §14.40 |
| `Transfer-Encoding (en-US)` |  |  |  |
| `Upgrade (en-US)` |  |  |  |
| `User-Agent` |  | 
 for Gecko's user agents see the
 User Agents Reference (en-US) |  |
| `Variant-Vary` |  | HTTP Content Negotiation | RFC 2295, §8.6 |
| `Vary` | 
 lists the headers used as criteria for choosing a specific content by
 the web server. This server is important for efficient and correct
 caching of the resource sent.
  | HTTP Content Negotiation
 &
 HTTP Caching FAQ (en-US) |  |
| `Via (en-US)` |  |  |  |
| `Warning (en-US)` |  |  |  |
| `WWW-Authenticate (en-US)` |  |  |  |
| `X-Content-Duration` |  | Configuring servers for Ogg media (en-US) |  |
| `X-Content-Security-Policy` |  | 
 Using
 Content Security Policy (en-US) |  |
| `X-DNSPrefetch-Control` |  | Controlling DNS prefetching (en-US) |  |
| `X-Frame-Options` |  | The XFrame-Option Response Header (en-US) |  |
| `X-Requested-With` | Often used with the value "XMLHttpRequest" when it is the case |  | Not standard |

Примечание
----------

**Примечание:** The Keep-Alive request header is not sent by Gecko 5.0; previous versions did send it but it was not formatted correctly, so the decision was made to remove it for the time being. The `Connection` or `Proxy-Connection` header is still sent, however, with the value "keep-alive".

Смотрите также
--------------

Wikipedia page on List of HTTP headers