Каждый HTTP-запрос имеет набор обязательных и необязательных заголовков. Этот пост направлен на то, чтобы перечислить все эти заголовки и описать их.
- Стандартные заголовки
- ЦЕЛЬ
- Принимать
- Accept-Charset
- Принять-кодирование
- Принять-язык
- Принять-Datetime
- Доступ-Контроль-Запрос-Метод
- Заголовки запроса-контроля доступа
- Авторизация
- Кэш-контроль
- Связь
- Content-Length
- Тип содержимого
- Cookie-файлы
- Дата
- Ожидать
- Переадресовано
- Из
- Хозяин
- Если совпадение
- If-Modified-Since
- Если-нет-совпадение
- Если-диапазон
- Если-Неизмененный-С
- Макс-нападающие
- Источник
- Прагма
- Прокси-авторизация
- Классифицировать
- Референт
- TE
- Пользователь-агент
- Обновление
- Через
- Предупреждение
- Нестандартные заголовки
Стандартные заголовки
ЦЕЛЬ
A-IM: feed
Экземплярные манипуляции, допустимые в ответе. Определено вRFC 3229
Принимать
Accept: application/json
Допустимый тип / типы носителя
Accept-Charset
Accept-Charset: utf-8
Допустимая кодировка
Принять-кодирование
Accept-Encoding: gzip, deflate
Список допустимых кодировок
Принять-язык
Accept-Language: en-US
Список допустимых языков
Принять-Datetime
Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT
Запросить прошлую версию ресурса до истечения даты и времени.
Доступ-Контроль-Запрос-Метод
Access-Control-Request-Method: GET
Используется вCORSзапрос
Заголовки запроса-контроля доступа
Access-Control-Request-Headers: origin, x-requested-with, accept
Используется вCORSзапрос
Авторизация
Authorization: Basic 34i3j4iom2323==
Учетные данные базовой аутентификации HTTP
Кэш-контроль
Cache-Control: no-cache
Установите правила кеширования
Связь
Connection: keep-alive
Параметры управления для текущего соединения. Принимаетkeep-alive
иclose
. Устарело вHTTP/2
Content-Length
Content-Length: 348
Длина тела запроса в байтах
Тип содержимого
Content-Type: application/x-www-form-urlencoded
Тип содержимого тела запроса (используется в запросах POST и PUT).
Cookie-файлы
Cookie: name=value
Дата
Date: Tue, 15 Nov 1994 08:12:31 GMT
Дата и время отправки запроса.
Ожидать
Expect: 100-continue
Обычно он используется при отправке большого тела запроса. Мы ожидаем, что сервер вернет100 Continue
Статус HTTP, если он может обработать запрос, или417 Expectation Failed
если не
Переадресовано
Forwarded: for=192.0.2.60; proto=http; by=203.0.113.43
Раскрыть исходную информацию о клиенте, подключающемся к веб-серверу через HTTP-прокси. Используется только для целей тестирования, так как раскрывает конфиденциальную информацию.
Из
From: [email protected]
Электронный адрес пользователя, отправившего запрос. Предназначен для использования, например, для указания контактного адреса электронной почты для ботов.
Хозяин
Host: flaviocopes.com
Доменное имя сервера (используется для определения сервера с виртуальным хостингом) и номер TCP-порта, на котором сервер прослушивает. Если порт не указан, предполагается 80. Это обязательный заголовок HTTP-запроса.
Если совпадение
If-Match: "737060cd8c284d8582d"
Учитывая один (или несколько)ETags
, сервер должен отправлять ответ только в том случае, если текущий ресурс совпадает с одним из этих тегов ETag. В основном используется в методах PUT для обновления ресурса, только если он не был изменен с момента последнего обновления его пользователем.
If-Modified-Since
If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Позволяет вернуть304 Not Modified
заголовок ответа, если содержимое не изменилось с этой даты
Если-нет-совпадение
If-None-Match: "737060cd882f209582d"
Позволяет304 Not Modified
заголовок ответа, который будет возвращен, если содержимое не изменилось. ПротивоположностьIf-Match
.
Если-диапазон
If-Range: "737060cd8c9582d"
Используется для возобновления загрузки, возвращает частичное, если условие соответствует (ETag или дата), или полный ресурс, если нет.Узнать больше
Если-Неизмененный-С
If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Отправлять ответ только в том случае, если объект не был изменен с указанного времени
Макс-нападающие
Max-Forwards: 10
Ограничьте количество раз, когда сообщение может быть переадресовано через прокси или шлюзы.
Источник
Origin: http://mydomain.com
Отправить текущий домен для выполненияCORSзапрос, используемый в HTTP-запросе OPTIONS (чтобы запросить у сервера заголовки ответа Access-Control)
Прагма
Pragma: no-cache
Используется для обратной совместимости с кешами HTTP / 1.0
Прокси-авторизация
Proxy-Authorization: Basic 2323jiojioIJOIOJIJ==
Учетные данные для подключения к прокси
Классифицировать
Range: bytes=500-999
Запросить только определенную часть ресурса
Референт
Referer: https://flaviocopes.com
Адрес предыдущей веб-страницы, с которой переходили по ссылке на текущую запрашиваемую страницу.
TE
TE: trailers, deflate
Укажите кодировки, которые может принять клиент. Допустимые значения:compress
,deflate
,gzip
,trailers
. Толькоtrailers
is supported in HTTP/2
Пользователь-агент
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
Строка, которая идентифицирует пользовательский агент.
Обновление
Upgrade: h2c, HTTPS/1.3, IRC/6.9, RTA/x11, websocket
Ask the server to upgrade to another protocol. Deprecated in HTTP/2
Через
Via: 1.0 fred, 1.1 example.com (Apache/1.1)
Сообщает серверу о прокси, через которые был отправлен запрос
Предупреждение
Warning: 199 Miscellaneous warning
Общее предупреждение о возможных проблемах со статусом сообщения. Принимаетособый диапазон значений.
Нестандартные заголовки
Также есть несколько широко используемых нестандартных заголовков, в том числе:
Dnt
DNT: 1
Если включено, просит серверы не отслеживать пользователя.
X-Requested-With
X-Requested-With: XMLHttpRequest
ОпределяетXHRЗапросы
X-CSRF-Token
X-CSRF-Token: <TOKEN>
Используется для предотвращения CSRF
Дополнительные уроки по сети:
- Введение в WebSockets
- Как работают HTTP-запросы
- Список заголовков HTTP-запросов
- Список заголовков HTTP-ответа
- HTTP против HTTPS
- Что такое RFC?
- Протокол HTTP
- Протокол HTTPS
- Руководство curl по HTTP-запросам
- Кеширование в HTTP
- Список кодов состояния HTTP
- Что такое CDN?
- Протокол HTTP / 2
- Что такое порт
- DNS, система доменных имен
- Протокол TCP
- Протокол UDP
- Введение в REST API
- Как установить локальный сертификат SSL в macOS
- Как сгенерировать локальный сертификат SSL
- Как настроить Nginx для HTTPS
- Простой обратный прокси-сервер nginx для обслуживания нескольких приложений Node.js из подпапок
- Что такое обратный прокси?