Основные HTTP-заголовки

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

Обновлено:

ЗаголовокНаправлениеНазначение
HostrequestIdentifies the server's host and port (from the URL).
User-AgentrequestReports the client software (browser, OS, bot) making the request.
AcceptrequestLists the response media types (MIME) the client can handle.
AuthorizationrequestCarries credentials (token, Basic auth) to authenticate the client.
Content-Typerequest/responseStates the media type of the request or response body.
Content-Lengthrequest/responseGives the size in bytes of the request or response body.
CookierequestSends stored key/value pairs from a previous response back to the server.
Set-CookieresponseServer instructs the client to store a cookie for later requests.
Cache-Controlrequest/responseDirects caching behaviour: no-cache, max-age, private, etc.
ETagresponseOpaque identifier for a resource version, used for revalidation.
If-None-MatchrequestSends an ETag; server returns 304 if the resource is unchanged.
LocationresponsePoints the client to a new URL for redirects (3xx) or created resources.
Access-Control-Allow-OriginresponsePermits a browser to share a response across origins (CORS).
X-Forwarded-ForrequestRecords the client IP as seen through a proxy or load balancer.
RefererrequestIndicates the URL of the page that linked to the requested resource.

Примечания

Частые вопросы

В чём разница между заголовком запроса и ответа?
Заголовки запроса отправляет клиент (браузер или приложение) серверу; заголовки ответа возвращает сервер вместе с ответом. Некоторые, как Content-Type, встречаются с обеих сторон.
Зависят ли имена HTTP-заголовков от регистра?
Нет. По спецификации имена заголовков регистронезависимы, поэтому Content-Type и content-type — одно и то же. Title-Case — лишь соглашение.
Для чего нужен заголовок Host?
Host сообщает серверу, какой домен запрашивается. В HTTP/1.1 он обязателен и позволяет одному серверу размещать много сайтов по имени.
Как кэширование работает через заголовки?
Cache-Control задаёт, как долго ответ можно кэшировать, а ETag и If-None-Match позволяют клиенту спросить «изменилось?» и получить лёгкий 304 Not Modified.