Какие HTTP-заголовки (ключи) сервер передает клиенту в ответе?

«Какие HTTP-заголовки (ключи) сервер передает клиенту в ответе?» — вопрос из категории Архитектура, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Сервер передает клиенту HTTP-заголовки (headers), которые управляют обработкой ответа. Ключевые заголовки:

  • Content-Type — определяет тип данных в теле ответа (MIME-тип). Например, application/json, text/html.
  • Set-Cookie — устанавливает куки на стороне клиента для управления сессией.
  • Cache-Control — директива для управления кешированием браузером или прокси. Примеры: no-cache, max-age=3600, public.
  • Location — используется для перенаправления (редиректа) с кодами 3xx. Содержит новый URL.
  • Authorization — может передавать токены для аутентификации в последующих запросах (схема Bearer).

Пример HTTP-ответа от сервера:

HTTP/1.1 200 OK
Content-Type: application/json
Set-Cookie: sessionId=abc123; Path=/; HttpOnly; Secure
Cache-Control: no-store

Эти заголовки инструктируют клиент, как интерпретировать данные, управлять состоянием и кешированием.