Tutti gli articoli

Header HTTP: cosa si nasconde in ogni richiesta e risposta

L'AGID (Agenzia per l'Italia Digitale) pubblica linee guida di sicurezza per i siti della pubblica amministrazione italiana che raccomandano esplicitamente l'uso di header come Strict-Transport-Security e Content-Security-Policy, oltre alla dismissione di TLS obsoleto. Anche per i siti privati, controllare la presenza di questi header è spesso il primo passo di un audit di sicurezza prima del rilascio.

Header di richiesta contro header di risposta

Gli header di richiesta (come Accept, User-Agent, Cookie) il browser li invia al server, descrivendo se stesso e le proprie aspettative. Gli header di risposta (Content-Type, Set-Cookie, Cache-Control) il server li rimanda indietro, descrivendo i dati restituiti e istruzioni per il browser.

A cosa serve Content-Type

L'header Content-Type dice al browser come interpretare il corpo della risposta: come pagina HTML, dati JSON, immagine o file da scaricare. Senza il valore corretto qui, il browser potrebbe provare a mostrare un JSON come testo semplice o, al contrario, gestire male un HTML.

Come Cache-Control gestisce la cache

Valori come max-age=3600 o no-cache indicano al browser e ai proxy intermedi per quanto tempo può essere usata una versione in cache di una risorsa senza richiederla di nuovo al server. Una configurazione errata di questo header è una causa comune per cui gli utenti vedono una versione obsoleta di un sito.

A cosa serve

  • Diagnosticare perché un browser mostra in modo errato la risposta di un'API.
  • Verificare la presenza degli header di sicurezza raccomandati dall'AGID prima del rilascio.
  • Confermare che un sito sia servito via HTTPS — condizione obbligatoria perché funzioni la Web Crypto API da cui dipendono gli stessi strumenti di hash e JWT di questo sito.

Perché a volte un'intestazione compare più volte

HTTP consente che la stessa intestazione compaia più volte in una risposta — il caso più comune sono più righe Set-Cookie, una per ogni cookie impostato. La maggior parte delle altre intestazioni ripetute possono essere unite in un unico valore separato da virgole senza cambiarne il significato, ma Set-Cookie è un'eccezione deliberata, perché una virgola può legittimamente far parte del valore di un cookie.

Prova lo strumento