Sobes.tech
Junior

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

sobes.tech AI

Отговор от AI

Основните ключове, предавани от сървъра към клиента, се използват в механизмите за 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 атаки с фалшиви сертификати. Е остарял и не се препоръчва за използване.