Список полей заголовка HTTP - List of HTTP header fields
HTTP |
---|
Способы запроса |
Поля заголовка |
Коды состояния |
Методы контроля доступа безопасности |
Уязвимости безопасности |
Поля HTTP-заголовка являются компонентами раздела заголовка запрос и ответ сообщения в Протокол передачи гипертекста (HTTP). Они определяют рабочие параметры HTTP-транзакции.
Общий формат
Поля заголовка передаются после строки запроса (в случае сообщения HTTP с запросом) или строки ответа (в случае сообщения HTTP ответа), которая является первой строкой сообщения. Поля заголовка представляют собой пары "ключ-значение", разделенные двоеточиями, в текстовом виде. строка формат, заканчивающийся возврат каретки (CR) и перевод строки (LF) последовательность символов. Конец раздела заголовка обозначается пустой строкой поля, что приводит к передаче двух последовательных пар CR-LF. Раньше длинные строки можно было складывать в несколько строк; строки продолжения обозначаются наличием пробела (SP) или горизонтальной табуляции (HT) в качестве первого символа следующей строки. Это сворачивание теперь устарело.[1]
Имена полей
Основной набор полей стандартизирован Инженерная группа Интернета (IETF) в RFC 7230, 7231, 7232, 7233, 7234 и 7235. постоянный реестр полей заголовков и хранилище предварительных регистраций поддерживаются IANA. Имена дополнительных полей и допустимые значения могут определяться каждым приложением.
Имена полей заголовка нечувствительны к регистру.[2] Это контрастирует с именами методов HTTP (GET, POST и т. Д.), Которые чувствительны к регистру.[3][4].
HTTP / 2 накладывает некоторые ограничения на определенные поля заголовка (см. ниже).
Нестандартные поля заголовка обычно помечались префиксом имени поля с помощью ИКС-
но это соглашение было объявлено устаревшим в июне 2012 года из-за неудобств, вызванных тем, что нестандартные поля стали стандартными.[5] Более раннее ограничение на использование Пониженный
был отменен в марте 2013 года.[6]
Значения полей
Некоторые поля могут содержать комментарии (например, в полях User-Agent, Server, Via), которые могут игнорироваться программным обеспечением.[7]
Многие значения полей могут содержать качество (q) пара ключ-значение, разделенные знак равенства, указав вес для использования в согласование содержания.[8] Например, браузер может указать, что он принимает информацию на немецком или английском языке, с предпочтением на немецком языке, установив параметр q ценность для де
выше, чем у en
, следующим образом:
Accept-Language: de; q = 1.0, en; q = 0,5
Ограничения по размеру
Стандарт не налагает ограничений на размер каждого имени или значения поля заголовка или на количество полей. Однако большинство серверов, клиентов и программного обеспечения прокси накладывают некоторые ограничения по практическим соображениям и соображениям безопасности. Например, сервер Apache 2.3 по умолчанию ограничивает размер каждого поля до 8190 байт, а в одном запросе может быть не более 100 полей заголовка.[9]
Поля запроса
Стандартные поля запроса
имя | Описание | пример | Статус | Стандарт |
---|---|---|---|---|
ЦЕЛЬ | Допустимые манипуляции с экземплярами для запроса.[10] | A-IM: кормить | Постоянный | RFC 3229 |
Принять | Тип (ы) СМИ это приемлемо для ответа. Увидеть Согласование содержания. | Принять: текст / html | Постоянный | RFC 2616, 7231 |
Accept-Charset | Допустимые наборы символов. | Accept-Charset: utf-8 | Постоянный | RFC 2616 |
Accept-Datetime | Приемлемая версия вовремя. | Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT | Предварительный | RFC 7089 |
Принять-кодирование | Список допустимых кодировок. Увидеть HTTP-сжатие. | Принятие кодировки: gzip, deflate | Постоянный | RFC 2616, 7231 |
Принять-язык | Список приемлемых человеческих языков для ответа. Увидеть Согласование содержания. | Accept-Language: en-US | Постоянный | RFC 2616, 7231 |
Доступ-Контроль-Запрос-Метод, Заголовки запроса-контроля доступа[11] | Инициирует запрос на совместное использование ресурсов из разных источников с участием Происхождение (ниже). | Метод-запроса-контроля доступа: ПОЛУЧИТЬ | Постоянный: стандартный | |
Авторизация | Учетные данные для аутентификации HTTP-аутентификация. | Авторизация: Базовая QWxhZGRpbjpvcGVuIHNlc2FtZQ == | Постоянный | |
Кэш-контроль | Используется для указания директив, которые должен подчиняться всем механизмам кэширования в цепочке запрос-ответ. | Cache-Control: без кеша | Постоянный | |
Подключение | Параметры управления для текущего соединения и список полей поэтапного запроса.[12] Не должно использоваться с HTTP / 2.[13] | Подключение: keep-alive | Постоянный | |
Content-Encoding | Тип кодировки, используемой для данных. Увидеть HTTP-сжатие. | Кодирование содержимого: gzip | Постоянный | |
Content-Length | Длина тела запроса в октеты (8-битные байты). | Длина содержимого: 348 | Постоянный | |
Content-MD5 | А Base64 -кодированный двоичный MD5 сумма содержимого тела запроса. | Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ == | Устаревший[14] | |
Тип содержимого | В Тип СМИ тела запроса (используется с запросами POST и PUT). | Тип содержимого: application / x-www-form-urlencoded | Постоянный | |
Cookie-файлы | An HTTP cookie ранее отправленный сервером с Set-Cookie (ниже). | Cookie: $ Version = 1; Кожа = новая; | Постоянный: стандартный | |
Дата | Дата и время создания сообщения (в формате «HTTP-дата», как определено RFC 7231 Форматы даты и времени ). | Дата: Вт, 15 ноября 1994 г., 08:12:31 GMT | Постоянный | |
Ожидать | Указывает, что клиенту требуется определенное поведение сервера. | Ожидайте: 100-продолжение | Постоянный | |
Перенаправлено | Раскрыть исходную информацию о клиенте, подключающемся к веб-серверу через HTTP-прокси.[15] | Перенаправлено: for = 192.0.2.60; proto = http; by = 203.0.113.43 Перенаправлено: для = 192.0.2.43, для = 198.51.100.17 | Постоянный | |
От | Электронный адрес пользователя, отправившего запрос. | От: [email protected] | Постоянный | |
Хост | Доменное имя сервера (для виртуальный хостинг ), а Порт TCP номер, который слушает сервер. В порт число может быть опущено, если порт является стандартным для запрашиваемой услуги. Обязательно с HTTP / 1.1.[16]Если запрос создается непосредственно в HTTP / 2, его не следует использовать.[17] | Хост: en.wikipedia.org:8080
| Постоянный | |
HTTP2-Настройки | Запрос, который обновляет HTTP / 1.1 до HTTP / 2, ДОЛЖЕН содержать ровно один HTTP2-Настройка поле заголовка. В HTTP2-Настройки Поле заголовка - это зависящее от соединения поле заголовка, которое включает параметры, управляющие соединением HTTP / 2, предоставляемые в ожидании того, что сервер примет запрос на обновление.[18][19] | HTTP2-Настройки: token64 | Постоянный: стандартный | |
Если совпадение | Выполняйте действие только в том случае, если предоставленная клиентом сущность соответствует той же сущности на сервере. Это в основном для таких методов, как PUT, чтобы обновлять ресурс только в том случае, если он не был изменен с момента последнего обновления пользователем. | Если-Match: "737060cd8c284d8af7ad3082f209582d" | Постоянный | |
If-Modified-Since | Позволяет 304 Не изменено будет возвращено, если содержимое не изменилось. | If-Modified-Since: сб, 29 октября 1994 г., 19:43:31 GMT | Постоянный | |
Если-нет-совпадение | Позволяет 304 Не изменено будет возвращено, если содержимое не изменилось, см. HTTP ETag. | Если-None-Match: "737060cd8c284d8af7ad3082f209582d" | Постоянный | |
Если-диапазон | Если объект не изменился, пришлите мне недостающие части; в противном случае пришлите мне новый объект целиком. | Если диапазон: "737060cd8c284d8af7ad3082f209582d" | Постоянный | |
Если-без изменений-с | Отправляйте ответ только в том случае, если объект не изменялся с определенного времени. | If-Unmodified-Since: Сб, 29 октября 1994 г., 19:43:31 GMT | Постоянный | |
Макс-нападающие | Ограничьте количество раз, когда сообщение может быть переадресовано через прокси или шлюзы. | Максимальное количество нападающих: 10 | Постоянный | |
Происхождение[11] | Инициирует запрос на совместное использование ресурсов из разных источников (запрашивает у сервера Контроль доступа-* поля ответа). | Происхождение: http://www.example-social-network.com | Постоянный: стандартный | |
Прагма | Зависящие от реализации поля, которые могут иметь различные эффекты в любом месте цепочки запрос-ответ. | Прагма: без кеширования | Постоянный | |
Прокси-авторизация | Учетные данные для подключения к прокси. | Прокси-авторизация: Базовая QWxhZGRpbjpvcGVuIHNlc2FtZQ == | Постоянный | |
Ассортимент | Запросить только часть объекта. Байты нумеруются от 0. См. Байт обслуживающий. | Диапазон: байты = 500-999 | Постоянный | |
Референт [sic ] | Это адрес предыдущей веб-страницы, с которой переходили по ссылке на текущую запрашиваемую страницу. (Слово «реферер» было неправильно написано в RFC, а также в большинстве реализаций до такой степени, что оно стало стандартным использованием и считается правильной терминологией) | Референт: http://en.wikipedia.org/wiki/Main_Page | Постоянный | |
TE | Кодировки передачи, которые пользовательский агент готов принять: могут использоваться те же значения, что и для поля заголовка ответа Transfer-Encoding, плюс значение "трейлеров" (связанное с "разбитый "метод передачи"), чтобы уведомить сервер, что он ожидает получить дополнительные поля в трейлере после последнего блока нулевого размера. Только | TE: прицепы, сдувать | Постоянный | |
Трейлер | Значение общего поля трейлера указывает, что данный набор полей заголовка присутствует в трейлере сообщения, закодированного с помощью кодирование передачи по частям. | Прицеп: Макс-Форвардс | Постоянный | |
Передача-кодирование | Форма кодирования, используемая для безопасной передачи объекта пользователю. Определенные в настоящее время методы находятся: разбитый, сжатие, сжатие, сжатие, сжатие, идентичность. Не должно использоваться с HTTP / 2.[13] | Кодирование передачи: фрагментированное | Постоянный | |
Пользователь-агент | В строка пользовательского агента пользовательского агента. | Пользовательский агент: Mozilla / 5.0 (X11; Linux x86_64; rv: 12.0) Gecko / 20100101 Firefox / 12.0 | Постоянный | |
Обновить | Попросите сервер перейти на другой протокол. Не должно использоваться в HTTP / 2.[13] | Обновление: h2c, HTTPS / 1.3, IRC / 6.9, RTA / x11, websocket | Постоянный | |
Через | Сообщает серверу о прокси, через которые был отправлен запрос. | Через: 1.0 fred, 1.1 example.com (Apache / 1.1) | Постоянный | |
Предупреждение | Общее предупреждение о возможных проблемах с телом сущности. | Предупреждение: 199 Прочие предупреждения | Постоянный |
Общие нестандартные поля запроса
Имя поля | Описание | пример |
---|---|---|
Upgrade-Insecure-Requests[20] | Сообщает серверу, который (предположительно, в середине миграции HTTP -> HTTPS) размещает смешанный контент, что клиент предпочел бы перенаправление на HTTPS и мог бы обрабатывать Content-Security-Policy: обновления-небезопасные-запросы Не должно использоваться с HTTP / 2[13] | Небезопасные запросы на обновление: 1 |
X-Requested-With | В основном используется для идентификации Аякс запросы (большинство Фреймворки JavaScript отправьте это поле со значением XMLHttpRequest ); также идентифицирует приложения Android с помощью WebView[21] | X-Requested-с: XMLHttpRequest |
DNT[22] | Запрашивает веб-приложение отключить отслеживание пользователя. Это версия Mozilla поля заголовка X-Do-Not-Track (поскольку Firefox 4.0 Бета 11). Сафари и IE9 также есть поддержка для этого поля.[23] 7 марта 2011 г. в IETF был представлен проект предложения.[24] В W3C Рабочая группа по защите от отслеживания составляет спецификацию.[25] | DNT: 1 (Не отслеживать включен)
|
X-Forwarded-For[26] | А де-факто стандарт для определения исходного IP-адреса клиента, подключающегося к веб-серверу через HTTP-прокси или балансировщик нагрузки. Заменено Перенаправлено заголовок. | X-Forwarded-For: client1, proxy1, proxy2
|
X-Forwarded-Host[27] | А де-факто стандарт для идентификации исходного хоста, запрошенного клиентом в Хост Заголовок HTTP-запроса, поскольку имя хоста и / или порт обратного прокси (балансировщика нагрузки) может отличаться от исходного сервера, обрабатывающего запрос. Заменено Перенаправлено заголовок. | X-Forwarded-Host: en.wikipedia.org:8080
|
X-Forwarded-Proto[28] | А де-факто стандарт для определения исходного протокола HTTP-запроса, поскольку обратный прокси-сервер (или балансировщик нагрузки) может связываться с веб-сервером с помощью HTTP, даже если запрос к обратному прокси-серверу - HTTPS. Альтернативная форма заголовка (X-ProxyUser-Ip) используется клиентами Google, общающимися с серверами Google. Заменено Перенаправлено заголовок. | X-Forwarded-Proto: https |
Front-End-HTTPS[29] | Нестандартное поле заголовка, используемое приложениями Microsoft и балансировщиками нагрузки | Front-End-Https: включено |
X-HTTP-метод-переопределение[30] | Запрашивает веб-приложение для переопределения метода, указанного в запросе (обычно POST), с помощью метода, указанного в поле заголовка (обычно PUT или DELETE). Это можно использовать, когда пользовательский агент или брандмауэр предотвращает прямую отправку методов PUT или DELETE (обратите внимание, что это либо ошибка в программном компоненте, которую следует исправить, либо преднамеренная конфигурация, и в этом случае ее обход может быть неправильный поступок). | Переопределение метода X-HTTP: УДАЛИТЬ |
X-ATT-DeviceId[31] | Позволяет упростить синтаксический анализ MakeModel / Firmware, который обычно находится в строке User-Agent устройств AT&T. | X-Att-Deviceid: GT-P7320 / P7320XXLPG |
X-Wap-Профиль[32] | Ссылки на XML-файл в Интернете с полным описанием и подробностями об устройстве, которое в настоящее время подключается. В примере справа показан файл XML для AT&T Samsung Galaxy S2. | x-wap-профиль: http://wap.samsungmobile.com/uaprof/SGH-I777.xml |
Прокси-соединение[33] | Реализовано как недопонимание спецификаций HTTP. Часто из-за ошибок в реализации ранних версий HTTP. Имеет ту же функциональность, что и стандартное поле подключения. Не должно использоваться с HTTP / 2.[13] | Прокси-соединение: keep-alive |
X-UIDH[34][35][36] | На стороне сервера глубокая вставка пакета уникального идентификатора, идентифицирующего клиентов Verizon Wireless; также известный как "постоянное печенье" или "суперпеченье" | X-UIDH: ... |
X-CSRF-токен[37] | Используется для предотвращения подделка межсайтового запроса. Альтернативные названия заголовков: X-CSRFToken [38] и X-XSRF-TOKEN [39] | X-CSRF-токен: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql |
X-Request-ID[40][41], | Коррелирует HTTP-запросы между клиентом и сервером. | X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5 |
Сохранить данные | Заголовок запроса подсказки клиента Save-Data, доступный в браузерах Chrome, Opera и Yandex, позволяет разработчикам доставлять более легкие и быстрые приложения пользователям, которые выбрали режим сохранения данных в своем браузере. | Сохранить данные: вкл. |
Поля ответа
Стандартные поля ответа
Имя поля | Описание | пример | Статус | Стандарт |
---|---|---|---|---|
Доступ-Контроль-Разрешить-Происхождение, Access-Control-Allow-Credentials, Заголовки Access-Control-Expose, Контроль доступа-Макс-возраст, Доступ-Контроль-Разрешить-Методы, Доступ-Контроль-Разрешить-Заголовки[11] | Указание того, какие веб-сайты могут участвовать в совместное использование ресурсов из разных источников | Доступ-Контроль-Разрешить-Происхождение: * | Постоянный: стандартный | |
Принять-патч[44] | Определяет, какие форматы документов исправлений поддерживает этот сервер | Accept-Patch: текст / пример; charset = utf-8 | Постоянный | |
Принять-диапазоны | Какие типы частичного диапазона содержимого поддерживает этот сервер через байтовое обслуживание | Accept-Ranges: байты | Постоянный | |
Возраст | Возраст, в котором находился объект кеш прокси в секундах | Возраст: 12 | Постоянный | |
Позволять | Допустимые методы для указанного ресурса. Для использования в 405 Метод запрещен | Разрешить: GET, HEAD | Постоянный | |
Alt-Svc[45] | Сервер использует заголовок «Alt-Svc» (означающий «Альтернативные службы»), чтобы указать, что к его ресурсам также можно получить доступ из другого сетевого местоположения (хоста или порта) или с использованием другого протокола. При использовании HTTP / 2 серверы должны вместо этого отправлять кадр ALTSVC. [46] | Alt-Svc: http / 1.1 = "http2.example.com:8001"; ma = 7200 | Постоянный | |
Кэш-контроль | Сообщает всем механизмам кэширования от сервера к клиенту, могут ли они кэшировать этот объект. Измеряется в секундах | Cache-Control: max-age = 3600 | Постоянный | |
Подключение | Параметры управления для текущего соединения и список полей ответа по этапам.[12] Не должно использоваться с HTTP / 2.[13] | Подключение: закрыть | Постоянный | |
Content-Disposition[47] | Возможность вызвать диалоговое окно «Загрузка файла» для известного типа MIME в двоичном формате или предложить имя файла для динамического содержимого. Цитаты обязательны со специальными символами. | Content-Disposition: вложение; filename = "fname.ext" | Постоянный | |
Content-Encoding | Тип кодировки, используемой для данных. Увидеть HTTP-сжатие. | Кодирование содержимого: gzip | Постоянный | |
Content-Language | Естественный язык или языки целевой аудитории для вложенного контента[48] | Content-Language: da | Постоянный | |
Content-Length | Длина тела ответа в октеты (8-битные байты) | Длина содержимого: 348 | Постоянный | |
Content-Location | Альтернативное место для возвращаемых данных | Расположение содержимого: /index.htm | Постоянный | |
Content-MD5 | А Base64 -кодированный двоичный MD5 сумма содержания ответа | Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ == | Устаревший[14] | |
Content-Range | Где в полном теле сообщения это частичное сообщение | Content-Range: байты 21010-47021 / 47022 | Постоянный | |
Тип содержимого | В Тип MIME этого содержания | Content-Type: текст / html; charset = utf-8 | Постоянный | |
Дата | Дата и время отправки сообщения (в формате «HTTP-дата», как определено RFC 7231 ) [49] | Дата: Вт, 15 ноября 1994 г., 08:12:31 GMT | Постоянный | |
Дельта-База | Задает тег объекта дельта-кодирования ответа.[10] | База Дельта: "abc" | Постоянный | |
ETag | Идентификатор конкретной версии ресурса, часто Дайджест сообщения | ETag: "737060cd8c284d8af7ad3082f209582d" | Постоянный | |
Истекает | Указывает дату / время, после которых ответ считается устаревшим (в формате «HTTP-дата», как определено RFC 7231 ) | Истекает: Thu, 01 Dec 1994 16:00:00 GMT | Постоянный: стандартный | |
Я | К ответу применены инстансы-манипуляции.[10] | IM: кормить | Постоянный | |
Последнее изменение | Дата последнего изменения запрошенного объекта (в формате «HTTP-дата», как определено RFC 7231 ) | Последнее изменение: Вт, 15 ноября 1994 г., 12:45:26 GMT | Постоянный | |
Ссылка на сайт | Используется для выражения типизированной связи с другим ресурсом, где тип связи определяется RFC 5988 | Ссылка: ; rel = "альтернативный" [50] | Постоянный | |
Расположение | Используется в перенаправление, или когда был создан новый ресурс. |
| Постоянный | |
P3P | В этом поле предполагается установить P3P политика в виде P3P: CP = "your_compact_policy" . Однако P3P не взлетел,[51] большинство браузеров никогда не реализовали его полностью, многие веб-сайты устанавливают это поле с поддельным текстом политики, этого было достаточно, чтобы обмануть браузеры существованием политики P3P и предоставить разрешения для сторонние файлы cookie. | P3P: CP = "Это не политика P3P! Подробнее см. Https://en.wikipedia.org/wiki/Special:CentralAutoLogin/P3P." | Постоянный | |
Прагма | Зависящие от реализации поля, которые могут иметь различные эффекты в любом месте цепочки запрос-ответ. | Прагма: без кеширования | Постоянный | |
Прокси-аутентификация | Запросите аутентификацию для доступа к прокси. | Прокси-аутентификация: базовая | Постоянный | |
Пины с открытым ключом[52] | Закрепление открытого ключа HTTP, объявляет хеш подлинного веб-сайта TLS свидетельство | Пины с открытым ключом: max-age = 2592000; pin-sha256 = "E9CZ9INDbd + 2eRQozYqqbQ2yXLVKB9 + xcprMF + 44U1g ="; | Постоянный | |
Повторить после | Если объект временно недоступен, это указывает клиенту повторить попытку позже. Значение может быть указанным периодом времени (в секундах) или HTTP-датой.[53] |
| Постоянный | |
Сервер | Имя для сервера | Сервер: Apache / 2.4.1 (Unix) | Постоянный | |
Set-Cookie | An HTTP cookie | Set-Cookie: UserID = JohnDoe; Макс-возраст = 3600; Версия = 1 | Постоянный: стандартный | |
Строгая транспортная безопасность | Политика HSTS, информирующая HTTP-клиента о том, как долго следует кэшировать политику только HTTPS и применяется ли это к поддоменам. | Строгая безопасность транспорта: max-age = 16070400; includeSubDomains | Постоянный: стандартный | |
Трейлер | Значение общего поля трейлера указывает, что данный набор полей заголовка присутствует в трейлере сообщения, закодированного с помощью кодирование передачи по частям. | Прицеп: Макс-Форвардс | Постоянный | |
Передача-кодирование | Форма кодирования, используемая для безопасной передачи объекта пользователю. Определенные в настоящее время методы находятся: разбитый, сжатие, сжатие, сжатие, сжатие, идентификация. Не должно использоваться с HTTP / 2.[13] | Передача-кодирование: фрагментированное | Постоянный | |
Тк | Заголовок статуса отслеживания, значение, предлагаемое для отправки в ответ на DNT (do-not-track), возможные значения:"!" - в разработке"?" - динамический "G" - шлюз для нескольких сторон "N" - не отслеживание "T" - отслеживание "C" - отслеживание с согласия "P" - отслеживание только при согласии "D" - без учета DNT "U" - обновлено | Тк:? | Постоянный | |
Обновить | Попросите клиента перейти на другой протокол. Не должно использоваться в HTTP / 2[13] | Обновление: h2c, HTTPS / 1.3, IRC / 6.9, RTA / x11, websocket | Постоянный | |
Отличаться | Сообщает нижестоящим прокси, как сопоставлять заголовки будущих запросов, чтобы решить, можно ли использовать кешированный ответ, вместо того, чтобы запрашивать новый с исходного сервера. |
| Постоянный | |
Через | Информирует клиента о прокси, через которые был отправлен ответ. | Через: 1.0 fred, 1.1 example.com (Apache / 1.1) | Постоянный | |
Предупреждение | Общее предупреждение о возможных проблемах с телом сущности. | Предупреждение: 199 Прочие предупреждения | Постоянный | |
WWW-аутентификация | Указывает схему аутентификации, которая должна использоваться для доступа к запрошенному объекту. | WWW-аутентификация: базовая | Постоянный | |
X-Frame-Опции[54] | Кликджекинг защита: отказываться от - без рендеринга в кадре, тот же происхождение - нет рендеринга при несовпадении происхождения, разрешение от - разрешить из указанного места, позволять все - нестандартные, пускают из любой точки | X-Frame-Options: отрицать | Устаревший[55] |
Общие нестандартные поля ответа
Имя поля | Описание | пример |
---|---|---|
Контент-безопасность-политика, X-Content-Security-Policy, X-WebKit-CSP[56] | Политика безопасности контента определение. | X-WebKit-CSP: default-src 'сам' |
Обновить | Используется при перенаправлении или при создании нового ресурса. Это обновление перенаправляется через 5 секунд. Расширение заголовка, представленное Netscape и поддерживаемое большинством веб-браузеров. | Обновить: 5; url = http: //www.w3.org/pub/WWW/People.html |
Статус | CGI поле заголовка, определяющее статус ответа HTTP. В обычных ответах HTTP вместо этого используется отдельная строка состояния, определяемая RFC 7230.[57] | Статус: 200 ОК |
Время-Разрешить-Происхождение | В Timing-Allow-Origin заголовок ответа указывает источники, которым разрешено видеть значения атрибутов, полученных с помощью функций Resource Timing API, который в противном случае был бы равен нулю из-за ограничений на разные источники.[58] | Timing-Allow-Origin: *
|
X-Content-Duration[59] | Укажите продолжительность аудио или видео в секундах; поддерживается только браузерами Gecko | X-Content-Duration: 42,666 |
Параметры X-Content-Type[60] | Единственное определенное значение, nosniff, предотвращает Internet Explorer от MIME-сниффинга ответа от объявленного типа содержимого. Это также относится к Гугл Хром, при загрузке расширений.[61] | Параметры X-Content-Type: nosniff [62] |
X-Powered-By[63] | Определяет технологию (например, ASP.NET, PHP, JBoss), поддерживающую веб-приложение (детали версии часто находятся в X-Runtime , X-версия , или X-AspNet-Версия ) | X-Powered-By: PHP / 5.4.0 |
X-Request-ID, X-Correlation-ID[40] | Коррелирует HTTP-запросы между клиентом и сервером. | X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5 |
X-UA-совместимый[64] | Рекомендует использовать предпочитаемый механизм визуализации (часто режим обратной совместимости) для отображения содержимого. Также используется для активации Хромированная рамка в Internet Explorer. | Совместимость с X-UA: IE = EmulateIE7 Совместимость с X-UA: IE = край Совместимость с X-UA: Chrome = 1 |
X-XSS-защита[65] | Межсайтовый скриптинг (XSS) фильтр | X-XSS-Protection: 1; режим = блок |
Эффекты выбранных полей
Как избежать кеширования
Если веб-сервер отвечает Cache-Control: без кеша
затем веб-браузер или другой система кеширования (промежуточные прокси) не должны использовать ответ для удовлетворения последующих запросов без предварительной проверки с исходным сервером (этот процесс называется проверкой). Это поле заголовка является частью HTTP версии 1.1 и игнорируется некоторыми кешами и браузерами. Это можно смоделировать, установив Истекает
Значение поля заголовка HTTP версии 1.0 на время раньше, чем время ответа. Обратите внимание, что no-cache не указывает браузеру или прокси-серверам, следует ли кэшировать контент. Он просто сообщает браузеру и прокси-серверам проверять содержимое кеша на сервере перед его использованием (это делается с помощью атрибутов If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, упомянутых выше).Таким образом, отправка значения без кеширования указывает браузеру или прокси-серверу не использовать содержимое кеша только на основании «критериев актуальности» содержимого кеша. Другой распространенный способ предотвратить показ старого контента пользователю без проверки - Cache-Control: max-age = 0
. Это указывает пользовательскому агенту, что содержимое устарело и перед использованием его следует проверить.
Поле заголовка Cache-Control: без магазина
предназначен для указания браузеру приложить все усилия, чтобы не записывать его на диск (т.е. не кэшировать).
Запрос о том, что ресурс не следует кэшировать, не гарантирует, что он не будет записан на диск. В частности, определение HTTP / 1.1 проводит различие между хранилищами истории и кешами. Если пользователь возвращается на предыдущую страницу, браузер все равно может показывать вам страницу, которая была сохранена на диске в хранилище истории. Это правильное поведение согласно спецификации. Многие пользовательские агенты показывают различное поведение при загрузке страниц из хранилища истории или кеша в зависимости от того, какой протокол используется - HTTP или HTTPS.
В Cache-Control: без кеша
Поле заголовка HTTP / 1.1 также предназначено для использования в запросах, сделанных клиентом. Это средство, с помощью которого браузер сообщает серверу и любым промежуточным кэшам, что ему нужна свежая версия ресурса. В Прагма: без кеширования
Поле заголовка, определенное в спецификации HTTP / 1.0, имеет ту же цель. Однако он определен только для заголовка запроса. Его значение в заголовке ответа не указывается.[66] Поведение Прагма: без кеширования
в ответе зависит от реализации. Хотя некоторые пользовательские агенты обращают внимание на это поле в ответах,[67] RFC HTTP / 1.1 специально предостерегает от использования такого поведения.
Смотрите также
использованная литература
- ^ «Протокол передачи гипертекста (HTTP / 1.1): синтаксис сообщений и маршрутизация». ietf.org. Получено 23 июля, 2014.
- ^ RFC-7230 раздел 3.2
- ^ RFC-7210 раздел 3.1.1
- ^ RFC-7231, раздел 4.1
- ^ Инженерная группа Интернета (1 июня 2012 г.). "RFC 6648". Получено 12 ноября, 2012.
- ^ «Заголовки сообщений». Iana.org. 11 июня 2014 г.. Получено 12 июня, 2014.
- ^ «Протокол передачи гипертекста (HTTP / 1.1): синтаксис сообщений и маршрутизация». itef.org. Получено 24 июля, 2014.
- ^ «Протокол передачи гипертекста (HTTP / 1.1): семантика и содержание». ietf.org. Получено 24 июля, 2014.
- ^ "ядро - HTTP-сервер Apache". Httpd.apache.org. Архивировано из оригинал 9 мая 2012 г.. Получено 13 марта, 2012.
- ^ а б c RFC 3229. Дои:10.17487 / RFC3229.
- ^ а б c «Совместное использование ресурсов между источниками». Получено 24 июля, 2017.
- ^ а б «Протокол передачи гипертекста (HTTP / 1.1): синтаксис сообщений и маршрутизация». IETF. Июнь 2014 г.. Получено 19 декабря, 2014.
- ^ а б c d е ж г час я «Протокол передачи гипертекста версии 2 (HTTP / 2)». IETF. Май 2015 г.. Получено 6 июня, 2017.
- ^ а б «Протокол передачи гипертекста (HTTP / 1.1): семантика и содержание». Получено 3 июня, 2015.
- ^ «Перенаправленное расширение HTTP: Введение». IETF. Июнь 2014 г.. Получено 7 января, 2016.
- ^ «Протокол передачи гипертекста (HTTP / 1.1): синтаксис сообщений и маршрутизация». IETF. Июнь 2014 г.. Получено 24 июля, 2014.
- ^ «Протокол передачи гипертекста версии 2 (HTTP / 2)». IETF. Май 2015 г.. Получено 6 июня, 2017.
- ^ «Заголовки сообщений». www.iana.org. Получено 26 ноября, 2018.
- ^ «Протокол передачи гипертекста версии 2 (HTTP / 2)». httpwg.org. 30 мая 2015 г.. Получено 22 февраля, 2019.
- ^ «Небезопасные запросы на обновление - рекомендация кандидата W3C». W3C. 8 октября 2015 г.. Получено 14 января, 2016.
- ^ https://www.stoutner.com/the-x-requested-with-header/
- ^ "Попробуйте HTTP-заголовок" Не отслеживать "". Получено 31 января, 2011.
- ^ «Защита от веб-отслеживания: минимальные стандарты и возможности для инноваций». Получено 24 марта, 2011.
- ^ IETF Не отслеживать: отказ от универсального стороннего веб-отслеживания 7 марта 2011 г.
- ^ W3C Выражение предпочтения отслеживания (DNT), 26 января 2012 г.
- ^ Амос Джеффрис (2 июля 2010 г.). "SquidFaq / ConfiguringSquid - Squid Web Proxy Wiki". Получено 10 сентября, 2009.
- ^ Фонд программного обеспечения Apache. "mod_proxy - HTTP-сервер Apache версии 2.2". Получено 12 ноября, 2014.
- ^ Дэйв Стейнберг (10 апреля 2007 г.). «Как мне настроить свой SSL-сайт для работы с балансировщиком нагрузки GeekISP?». Получено 30 сентября, 2010.
- ^ «Помощь в обеспечении безопасности связи: от клиента к серверу переднего плана». 27 июля 2006 г.. Получено 23 апреля, 2012.
- ^ "Спецификация сервера API OpenSocial Core 2.5.1". Получено 8 октября, 2014.
- ^ «ID устройства ATT». Получено 14 января, 2012.
- ^ «Профиль WAP». Получено 14 января, 2012.
- ^ де Бойн Поллард, Джонатан (2007). «Заголовок Proxy-Connection: представляет собой ошибку в том, как некоторые веб-браузеры используют HTTP». Получено 16 января, 2018.
- ^ «Verizon внедряет постоянные файлы cookie для отслеживания мобильных клиентов в обход средств контроля конфиденциальности». Фонд электронных рубежей. Получено 19 января, 2014.
- ^ «Проверка известных радиомаяков AT&T, Verizon, Sprint, Bell Canada и Vodacom с уникальным идентификатором». Получено 19 января, 2014.
- ^ Крейг Тимберг. "Verizon, AT&T отслеживают своих пользователей с помощью" супер-файлов cookie ".'". Вашингтон Пост. Получено 19 января, 2014.
- ^ «Защита от подделки межсайтовых запросов SAP». SAP SE. Получено 20 января, 2015.
- ^ "Защита от подделки межсайтовых запросов Django". Django (веб-фреймворк). Архивировано из оригинал 20 января 2015 г.. Получено 20 января, 2015.
- ^ "Защита от подделки межсайтовых запросов Angular (XSRF)". AngularJS. Получено 20 января, 2015.
- ^ а б "Что такое http-заголовок X-REQUEST-ID?". stackoverflow.com. Получено 19 мая, 2016.
- ^ «Идентификаторы HTTP-запросов». devcenter.heroku.com. Получено 6 февраля, 2018.
- ^ «Значение идентификаторов корреляции». Блог Rapid7. 23 декабря 2016 г.. Получено 13 апреля, 2018.
- ^ Хилтон, Питер. «Идентификаторы корреляции для микросервисных архитектур - Питер Хилтон». hilton.org.uk. Получено 13 апреля, 2018.
- ^ "RFC 5789". Получено 24 декабря, 2014.
- ^ «Альтернативные службы HTTP». IETF. Апрель 2016 г.. Получено 19 апреля, 2016.
- ^ «Альтернативные службы HTTP, раздел 3». IETF. Апрель 2016 г.. Получено 8 июня, 2017.
- ^ «RFC 6266». Получено 13 марта, 2015.
- ^ «RFC 7231 - протокол передачи гипертекста (HTTP / 1.1): семантика и контент». Tools.ietf.org. Получено 11 декабря, 2017.
- ^ «Заголовки даты HTTP, соответствующие RFC7231».
- ^ Укажите каноническую версию URL, ответив HTTP-заголовком Link rel = "canonical" Дата обращения: 9 февраля 2012 г.
- ^ W3C Работа P3P приостановлена
- ^ «Расширение закрепления открытого ключа для HTTP». IETF. Получено 17 апреля, 2015.
- ^ «Протокол передачи гипертекста (HTTP / 1.1): семантика и содержание». Получено 24 июля, 2014.
- ^ "Параметры X-кадра поля заголовка HTTP". IETF. 2013. Получено 12 июня, 2014.
- ^ «Политика безопасности контента, уровень 2». Получено 2 августа, 2014.
- ^ «Политика безопасности контента». W3C. 2012 г.. Получено 28 апреля, 2017.
- ^ «Протокол передачи гипертекста (HTTP / 1.1): синтаксис сообщений и маршрутизация». Получено 24 июля, 2014.
- ^ "Время-Разрешить-Происхождение". Сеть разработчиков Mozilla. Получено 25 января, 2018.
- ^ «Настройка серверов для Ogg media». 26 мая 2014 г.. Получено 3 января, 2015.
- ^ Эрик Лоуренс (3 сентября 2008 г.). "Безопасность IE8, часть VI: обновление бета-версии 2". Получено 28 сентября, 2010.
- ^ «Хостинг - Расширения Google Chrome - Код Google». Получено 14 июня, 2012.
- ^ ван Кестерен, Энн (26 августа 2016 г.). "Стандартный". WHATWG. В архиве с оригинала 26 августа 2016 г.. Получено 26 августа, 2016.
- ^ «Почему платформа ASP.NET добавляет в ответы HTTP-заголовок X-Powered-By: ASP.NET? - Stack Overflow». Получено 30 сентября, 2010.
- ^ «Определение совместимости документов: определение режимов совместимости документов». 1 апреля 2011 г.. Получено 24 января, 2012.
- ^ Эрик Лоуренс (2 июля 2008 г.). «Безопасность IE8, часть IV: фильтр XSS». Получено 30 сентября, 2010.
- ^ «Протокол передачи гипертекста (HTTP / 1.1): кэширование». ietf.org. Получено 24 июля, 2014.
- ^ «Как предотвратить кеширование в Internet Explorer». Microsoft. 22 сентября 2011 г.. Получено 15 апреля, 2015.
внешние ссылки
- Заголовки: имена полей заголовка постоянного сообщения
- RFC 6265: Механизм управления состоянием HTTP IETF
- RFC 7230: Протокол передачи гипертекста (HTTP / 1.1): Синтаксис сообщений и маршрутизация
- RFC 7231: Протокол передачи гипертекста (HTTP / 1.1): Семантика и содержание
- RFC 7232: Протокол передачи гипертекста (HTTP / 1.1): Условные запросы
- RFC 7233: Протокол передачи гипертекста (HTTP / 1.1): Запросы диапазона
- RFC 7234: Протокол передачи гипертекста (HTTP / 1.1): Кэширование
- RFC 7235: Протокол передачи гипертекста (HTTP / 1.1): Аутентификация
- RFC 7239: Перенаправленное расширение HTTP
- Заголовки HTTP / 1.1 с точки зрения веб-сервера
- Internet Explorer и настраиваемые заголовки HTTP - IEInternals от EricLaw - Домашняя страница сайта - Блоги MSDN