Sobes.tech
Junior

Koje ključeve server prenosi klijentu?

sobes.tech АИ

Одговор од АИ

Glavni ključevi koji se prenose sa servera na klijenta koriste se u HTTP mehanizmima keširanja:

  • Cache-Control: Kontroliše ponašanje keširanja na strani klijenta i proxy servera. Navodi da li resurs može biti keširan, njegovo maksimalno vreme trajanja (max-age), potrebu za revalidacijom (no-cache), zabranu keširanja (no-store) i druge direktive.
  • Expires: Navodi tačan datum i vreme nakon kojeg se keširani resurs smatra zastarelim. Je zastareo (deprecated) u poređenju sa Cache-Control: max-age.
  • ETag: Jedinstveni identifikator verzije resursa. Koristi se u zaglavlju If-None-Match pri ponovljenim zahtevima za proveru aktuelnosti keširane kopije. Ako se ETag na serveru poklapa sa onim koji je poslao klijent, server vraća status 304 Not Modified.
  • Last-Modified: Datum i vreme poslednje izmene resursa. Koristi se u zaglavlju If-Modified-Since za isti cilj kao i ETag. Ako resurs nije menjan od datuma navedenog, server vraća 304 Not Modified.

Pored keširanja, mogu se prenositi i ključevi povezani sa bezbednošću i upravljanjem sesijama:

  • Set-Cookie: Postavlja kolačić na strani klijenta. Sadrži ime kolačića, vrednost, domen, put, rok trajanja, zastavice (HttpOnly, Secure, SameSite).
  • Strict-Transport-Security (HSTS): Ukazuje pretraživaču da pristup domeni treba obavljati samo putem HTTPS tokom određenog perioda.
  • Public-Key-Pins (HPKP - zastarelo): Ukazuje pretraživaču koje javne ključeve treba povezati sa domenom. Koristio se za sprečavanje MITM napada sa falsifikovanim sertifikatima. Je zastarelo i ne preporučuje se za upotrebu.