Junior
45
questionbank

Какие ключи передаются от сервера клиенту?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Основные ключи, передающиеся от сервера клиенту, используются в механизмах HTTP-кеширования:

  • Cache-Control: Управляет поведением кеширования как на стороне клиента, так и на стороне прокси-серверов. Указывает, может ли ресурс быть закеширован, его максимальное время жизни (max-age), необходимость повторной валидации (no-cache), запрет кеширования (no-store) и другие директивы.
  • Expires: Указывает точную дату и время, после которого закэшированный ресурс считается устаревшим. Является устаревшим (deprecated) по сравнению с Cache-Control: max-age.
  • ETag: Уникальный идентификатор версии ресурса. Используется клиентом в заголовке If-None-Match при повторном запросе для проверки актуальности кэшированной копии. Если ETag на сервере совпадает с переданным клиентом, сервер возвращает статус 304 Not Modified.
  • Last-Modified: Дата и время последнего изменения ресурса. Используется клиентом в заголовке If-Modified-Since для той же цели, что и ETag. Если ресурс не был изменен после указанной даты, сервер возвращает 304 Not Modified.

Помимо кеширования, могут передаваться ключи, связанные с безопасностью и управлением сессиями:

  • Set-Cookie: Устанавливает cookie на стороне клиента. Содержит имя cookie, значение, домен, путь, срок действия, флаги (HttpOnly, Secure, SameSite).
  • Strict-Transport-Security (HSTS): Указывает браузеру, что доступ к домену должен осуществляться только по HTTPS в течение заданного периода времени.
  • Public-Key-Pins (HPKP - устарел): Указывал браузеру, какие ключи общедоступные должны быть ассоциированы с доменом. Используется для предотвращенияmitm-атак с использованием поддельных сертификатов. Устарел и не рекомендуется к использованию.