Заголовки HTTP
Стандартные заголовки запроса и ответа, сгруппированные по назначению. Откройте любой заголовок, чтобы увидеть синтаксис, директивы и примеры из практики.
Аутентификация
WWW-AuthenticateЗапрашивайте учётные данные через WWW-Authenticate. Настройка схем Basic, Bearer, Digest и других в ответах 401.
AuthorizationПередавайте учётные данные через заголовок Authorization. Схемы Basic, Bearer и Digest, синтаксис и рекомендации по безопасности.
Proxy-AuthenticateРазбираем, как Proxy-Authenticate в ответе 407 требует учётные данные для прокси. Схемы аутентификации, синтаксис и примеры цепочек прокси.
Proxy-AuthorizationИспользуйте заголовок Proxy-Authorization, чтобы передать прокси учётные данные после запроса 407. Схемы аутентификации, синтаксис и поведение в цепочке.
Кэширование
AgeОценивайте свежесть кэша с помощью заголовка Age: как CDN и прокси сообщают время, прошедшее с ответа источника.
Cache-ControlУправляйте кэшированием в браузере и CDN через директивы Cache-Control. Синтаксис, примеры из практики и лучшие практики.
ExpiresРазбираем заголовок Expires и свежесть кэша по временной метке. Как Expires взаимодействует с Cache-Control и когда применять каждый подход.
Clear-Site-DataОчищайте кэш, cookie и хранилище браузера через Clear-Site-Data. Сценарии выхода, директивы и схемы внедрения.
Условные запросы
Last-ModifiedРазбираем заголовок Last-Modified и проверку кэша по дате. Как сервер сообщает время изменения в сценариях условных запросов.
ETagУзнайте, как идентификаторы ETag обеспечивают перепроверку кэша и контроль параллелизма. Сильные и слабые ETag, синтаксис и схемы условных запросов.
If-MatchРазбираем заголовок If-Match и условные запросы на основе ETag. Предотвращение потери обновлений за счёт оптимистичной блокировки в PUT и DELETE.
If-None-MatchУзнайте, как If-None-Match проверяет кэшированные ресурсы по ETag. Реализация перепроверки кэша и защита от перезаписи условными запросами.
If-Modified-SinceУзнайте, как If-Modified-Since обеспечивает перепроверку кэша по дате для GET и HEAD. Экономия трафика за счёт условных ответов и статуса 304.
If-Unmodified-SinceРазбираем If-Unmodified-Since и то, как предусловия по дате предотвращают потерю обновлений. Защита операций PUT и DELETE от конкурентных изменений.
VaryУправляйте вариантами кэша через заголовок Vary. Сообщите кэшам, какие заголовки запроса влияют на ответ, чтобы они хранили и отдавали правильные представления.
Согласование содержимого
AcceptСогласуйте медиатипы ответа через заголовок Accept. Весовые коэффициенты, подстановочные знаки, ход согласования и примеры.
Accept-EncodingСогласуйте сжатие через Accept-Encoding. Поддерживаемые алгоритмы, весовые коэффициенты, синтаксис и реализация на сервере.
Accept-LanguageСогласуйте язык содержимого через Accept-Language. Теги BCP 47, весовые коэффициенты, обработка на сервере и примеры.
Accept-CharsetРазбираем, почему Accept-Charset устарел и как UTF-8 вытеснил согласование кодировок. История, синтаксис и рекомендации по переходу.
Сведения о содержимом
Content-TypeОбъявляйте медиатипы через Content-Type. MIME-типы, параметр charset, согласование содержимого и риски MIME-сниффинга.
Content-LengthОбъявляйте размер тела сообщения через Content-Length. Подсчёт байтов, переиспользование соединений, индикаторы прогресса и подводные камни.
Content-EncodingУказывайте сжатие ответа через Content-Encoding. Алгоритмы gzip, br, zstd, настройка сервера и декодирование.
Content-LanguageОбъявляйте язык целевой аудитории через Content-Language. Языковые теги, согласование содержимого и многоязычная настройка.
Content-LocationУказывайте на согласованное представление через Content-Location. Отличие от Location, влияние на кэширование и примеры.
Content-DispositionЗапускайте скачивание файла или встроенный показ через Content-Disposition. attachment, кодирование имени файла и применение в данных форм.
Content-RangeОтдавайте частичное содержимое через Content-Range. Синтаксис байтовых диапазонов, докачка, потоковое медиа и схема ответа 206.
Cookie
CORS
Access-Control-Allow-OriginУправляйте кросс-доменным доступом через Access-Control-Allow-Origin. Подстановочные знаки, динамические источники, ошибки CORS и их устранение.
Access-Control-Allow-MethodsРазрешайте HTTP-методы при предварительном запросе CORS через Access-Control-Allow-Methods. Синтаксис, правила подстановки и настройка сервера.
Access-Control-Allow-HeadersРазрешайте пользовательские заголовки в CORS-запросах через Access-Control-Allow-Headers. Настройка предварительного запроса, подстановочные знаки и примеры.
Access-Control-Allow-CredentialsПередавайте cookie и учётные данные в CORS-запросах через Access-Control-Allow-Credentials. Настройка, подводные камни и решения.
OriginРазбираем, как заголовок запроса Origin указывает источник запроса для CORS. Синтаксис, поведение браузера и проверка на сервере.
Диапазонные запросы
Accept-RangesВключите докачку через Accept-Ranges. Частичные запросы, побайтовая отдача, потоковая передача и настройка сервера.
RangeЗапрашивайте частичное содержимое через заголовок Range. Синтаксис байтовых диапазонов, многочастные ответы, возобновление загрузок и примеры потоковой передачи.
If-RangeУзнайте, как If-Range делает диапазонные запросы условными для безопасного возобновления загрузки. Получайте часть или весь ресурс без ошибок 412.
Перенаправления
LocationРазбираем, как заголовок Location управляет перенаправлениями HTTP и указывает на созданные ресурсы. Синтаксис, типы перенаправлений и примеры.
Retry-AfterС помощью заголовка Retry-After сообщайте клиентам, когда повторить запрос после 429 или 503. Формат в секундах, формат HTTP-date и советы по работе с ботами.
Контекст запроса
HostРазбираем обязательный заголовок Host в запросах HTTP/1.1. Как работает виртуальный хостинг, правила синтаксиса и как сервер определяет целевой домен.
User-AgentОпределяйте клиентское ПО по User-Agent. Разбор product-токенов, понимание UA reduction и стратегии обнаружения ботов.
RefererРазбираем, как заголовок Referer указывает ссылающуюся страницу. Аналитика, контроль доступа, риски приватности и связь с Referrer-Policy.
Referrer-PolicyВнедрите Referrer-Policy, чтобы управлять передаваемой браузером реферер-информацией. Варианты директив, влияние на приватность и примеры развёртывания.
Контекст ответа
AllowСообщайте поддерживаемые методы через заголовок Allow. Обязателен в ответах 405, обработка OPTIONS и синтаксис.
DateРазбираем HTTP-заголовок Date и то, как исходный сервер проставляет время ответа. Его роль в расчёте свежести кэша и поведении прокси.
ServerУказывайте серверное ПО через заголовок Server. Синтаксис product-токенов, риски раскрытия версии и рекомендации.
Безопасность
Strict-Transport-SecurityПринудительно используйте HTTPS через Strict-Transport-Security. Настройка HSTS: max-age, includeSubDomains, preload и защита от downgrade-атак.
Content-Security-PolicyЗащищайтесь от XSS и инъекций с помощью Content-Security-Policy. Директивы, списки источников, nonce и развёртывание.
X-Content-Type-OptionsПредотвращайте атаки MIME-сниффинга через X-Content-Type-Options: nosniff. Заставьте браузеры учитывать объявленный Content-Type в каждом ответе.
X-Frame-OptionsЗащищайтесь от кликджекинга через X-Frame-Options. Управление встраиванием во фреймы с DENY и SAMEORIGIN, а также альтернатива CSP frame-ancestors.
Permissions-PolicyВнедрите Permissions-Policy, чтобы управлять доступом сайта и встроенных iframe к возможностям браузера. Директивы, списки разрешений и примеры.
Кодирование передачи
Transfer-EncodingКодируйте тело сообщения для безопасной передачи через Transfer-Encoding. Chunked-кодирование, hop-by-hop семантика и потоковые ответы.
TEОбъявляйте предпочтения по transfer-кодированию через заголовок TE. Согласование chunked-трейлеров и сжатия между клиентом и сервером.
ConnectionУправляйте жизненным циклом TCP-соединения через заголовок Connection. keep-alive, close, hop-by-hop поведение и изменения в HTTP/2.
UpgradeМеняйте протокол на существующем соединении через заголовок Upgrade. Согласование перехода на WebSocket, HTTP/2 и TLS поверх HTTP/1.1.