Sobes.tech
Junior

Quali chiavi vengono trasmesse dal server al client?

sobes.tech AI

Risposta dell'AI

Le chiavi principali trasmesse dal server al client vengono utilizzate nei meccanismi di caching HTTP:

  • Cache-Control: Controlla il comportamento della cache sia lato client che proxy. Indica se una risorsa può essere memorizzata nella cache, il suo tempo massimo di vita (max-age), la necessità di revalidazione (no-cache), il divieto di caching (no-store) e altre direttive.
  • Expires: Indica la data e l'ora esatte dopo le quali la risorsa memorizzata nella cache è considerata obsoleta. È deprecato rispetto a Cache-Control: max-age.
  • ETag: Identificatore univoco della versione della risorsa. Viene usato nell'intestazione If-None-Match nelle richieste ripetute per verificare l'attualità della copia in cache. Se l'ETag sul server corrisponde a quello inviato dal client, il server restituisce lo stato 304 Not Modified.
  • Last-Modified: Data e ora dell'ultima modifica della risorsa. Viene usato nell'intestazione If-Modified-Since per lo stesso scopo di ETag. Se la risorsa non è stata modificata dopo la data indicata, il server restituisce 304 Not Modified.

Oltre alla cache, possono essere trasmesse chiavi legate alla sicurezza e alla gestione delle sessioni:

  • Set-Cookie: Imposta un cookie sul lato client. Contiene il nome del cookie, il valore, il dominio, il percorso, il periodo di validità, le flags (HttpOnly, Secure, SameSite).
  • Strict-Transport-Security (HSTS): Indica al browser che l'accesso al dominio deve avvenire solo tramite HTTPS per un periodo di tempo stabilito.
  • Public-Key-Pins (HPKP - deprecato): Indica al browser quali chiavi pubbliche devono essere associate al dominio. È stato usato per prevenire attacchi mitm con certificati falsificati. È deprecato e non raccomandato.