Основные HTTP-заголовки(продолжение
предыдущего поста)
HTTP-заголовки структурированы по категориям, каждая из которых выполняет свою роль: от передачи метаданных и управления кэшированием до обеспечения безопасности и управления содержимым. Они обеспечивают взаимодействие между клиентом и сервером, делая обмен данными более эффективным и безопасным.
Разберём каждую категорию HTTP-заголовков подробно:
#### 1. General Headers (Общие заголовки)
Используются для передачи общей информации о сообщении. Включают:
*
Date — указывает, когда сервер отправил ответ.
*
Age — показывает «возраст» кэша в секундах.
*
Cache-Control — управляет правилами кэширования.
*
Vary — сообщает кэшу, какие заголовки запроса имеют значение.
*
Via — отображает используемые прокси и шлюзы.
*
Host — идентифицирует запрошенный сервер.
#### 2. Request Headers (Заголовки запроса)
Передаются от клиента к серверу и содержат предпочтения клиента или информацию о клиенте. Включают:
*
User-Agent — идентифицирует браузер, приложение и тип устройства.
*
Accept — предпочтения клиента по формату ответа.
*
Accept-Language — предпочтения клиента по языку ответа.
*
Accept-Encoding — список поддерживаемых алгоритмов сжатия.
*
Cookie — данные сессии или предпочтения (например, сохранённые настройки).
*
Referer — страница, с которой был перенаправлен запрос (откуда пришёл пользователь).
#### 3. Response Headers (Заголовки ответа)
Передаются от сервера к клиенту и содержат инструкции или метаданные об ответе. Включают:
*
Location — указывает клиенту, куда перейти дальше (например, при перенаправлении).
*
Set-Cookie — сохраняет данные сессии в браузере клиента.
*
Access-Control-Allow-Origin — разрешает кросс-доменные запросы для определённых доменов.
*
Accept-Ranges — проверяет, поддерживает ли сервер частичные запросы (например, загрузку файла по частям).
*
Content-Range — указывает, какая часть файла передаётся.
*
ETag — уникальный идентификатор версии ресурса (помогает определить, изменился ли ресурс).
#### 4. Payload Headers (Заголовки полезной нагрузки)
Описывают содержимое тела сообщения (payload). Включают:
*
Content-Type — задаёт формат полезной нагрузки (например,
json или
html).
*
Content-Disposition — указывает браузеру, загружать ли файл или отображать его inline (в браузере).
*
Content-Length — размер тела сообщения в байтах.
*
Content-Encoding — тип сжатия тела ответа.
*
Content-Language — человеческий язык тела ответа.
*
Last-Modified — дата последнего обновления ресурса на сервере.
#### 5. Security Headers (Заголовки безопасности)
Обеспечивают защиту и контроль доступа. Включают:
*
Last-Modified — используется для проверки актуальности ресурса (дата последнего изменения).
*
Range — запрашивает только определённую часть ресурса (например, диапазон байтов файла).
*
If-Modified-Since — получает ресурс только в случае, если он изменился после указанной даты.
*
If-None-Match — получает ресурс только в случае, если ETag не совпадает (проверка актуальности).
*
Content-Security-Policy — ограничивает источники скриптов и стилей, которые могут выполняться.
*
Strict-Transport-Security — заставляет браузер всегда использовать HTTPS (повышает безопасность соединения).