Sobes.tech
Junior

Aké kľúče sa prenášajú zo servera na klienta?

sobes.tech AI

Odpoveď od AI

Hlavné kľúče prenášané zo servera na klienta sa používajú v mechanizmoch HTTP cache:

  • Cache-Control: Riadi správanie cache na strane klienta aj proxy serverov. Uvádza, či môže byť zdroj uložený do cache, jeho maximálnu dobu života (max-age), potrebu revalidácie (no-cache), zákaz cacheovania (no-store) a ďalšie direktívy.
  • Expires: Uvádza presný dátum a čas, po ktorom sa uložený zdroj považuje za zastaraný. Je zastaraný (deprecated) v porovnaní s Cache-Control: max-age.
  • ETag: Unikátny identifikátor verzie zdroja. Používa sa v hlavičke If-None-Match pri opakovaných požiadavkách na kontrolu aktuálnosti cache. Ak sa ETag na serveri zhoduje s tým, čo poslal klient, server vráti stav 304 Not Modified.
  • Last-Modified: Dátum a čas poslednej zmeny zdroja. Používa sa v hlavičke If-Modified-Since na ten istý účel ako ETag. Ak zdroj od poslednej zmeny nezmenil, server vráti 304 Not Modified.

Okrem cache môžu byť prenášané aj kľúče súvisiace so zabezpečením a správou relácií:

  • Set-Cookie: Nastaví cookie na strane klienta. Obsahuje názov cookie, hodnotu, doménu, cestu, dobu platnosti, vlajky (HttpOnly, Secure, SameSite).
  • Strict-Transport-Security (HSTS): Uvádza prehliadaču, že prístup k doméne by mal byť vykonávaný iba cez HTTPS na stanovené obdobie.
  • Public-Key-Pins (HPKP - zastarané): Uvádza prehliadaču, ktoré verejné kľúče by mali byť spojené s doménou. Používal sa na prevenciu MITM útokov s falšovanými certifikátmi. Je zastarané a neodporúča sa jeho používanie.