Sobes.tech
Junior

Ce chei sunt transmise de la server către client?

sobes.tech AI

Răspuns de la AI

Cheile principale transmise de la server către client sunt utilizate în mecanismele de cache HTTP:

  • Cache-Control: Controlează comportamentul cache-ului atât pe partea clientului, cât și pe partea proxy-urilor. Indică dacă o resursă poate fi cache-ată, timpul maxim de viață (max-age), necesitatea revalidării (no-cache), interdicția cache-ului (no-store) și alte directive.
  • Expires: Indică data și ora exactă după care resursa cache-ată este considerată învechită. Este învechit (deprecated) în comparație cu Cache-Control: max-age.
  • ETag: Identificator unic al versiunii resursei. Este utilizat în antetul If-None-Match la solicitările repetate pentru a verifica actualitatea copiei cache-ate. Dacă ETag de pe server corespunde cu cel trimis de client, serverul returnează statusul 304 Not Modified.
  • Last-Modified: Data și ora ultimei modificări a resursei. Este utilizat în antetul If-Modified-Since pentru același scop ca și ETag. Dacă resursa nu a fost modificată după data indicată, serverul returnează 304 Not Modified.

Pe lângă cache, pot fi transmise și chei legate de securitate și gestionarea sesiunilor:

  • Set-Cookie: Setează un cookie pe partea clientului. Conține numele cookie-ului, valoarea, domeniul, calea, perioada de valabilitate, steagurile (HttpOnly, Secure, SameSite).
  • Strict-Transport-Security (HSTS): Indică browser-ului că accesul la domeniu trebuie să se facă doar prin HTTPS pentru o perioadă de timp stabilită.
  • Public-Key-Pins (HPKP - învechit): Indică browser-ului care chei publice trebuie să fie asociate cu domeniul. A fost folosit pentru prevenirea atacurilor mitm cu certificate false. Este învechit și nerecomandat.