HEAD

Metodo HTTP

Specifica del metodo HTTP HEAD

Il metodo HEAD è identico a GET, tranne per il fatto che il server NON DEVE inviare un corpo del messaggio nella risposta (cioè, la risposta termina alla fine della sezione dell'intestazione). Il server DOVREBBE inviare in risposta a una richiesta HEAD gli stessi campi di intestazione che avrebbe inviato se la richiesta fosse stata GET, ad eccezione dei campi di intestazione del payload (Sezione 3.3) che possono essere omessi. Questo metodo può essere usato per ottenere metadati sulla rappresentazione selezionata senza trasferire i dati della rappresentazione ed è spesso usato per verificare la validità, l'accessibilità e le modifiche recenti dei collegamenti ipertestuali.

Un payload all'interno di un messaggio di richiesta HEAD non ha una semantica definita; l'invio di un corpo di payload in una richiesta HEAD potrebbe causare il rifiuto della richiesta da parte di alcune implementazioni esistenti.

La risposta a una richiesta HEAD è memorizzabile nella cache; una cache PUO' utilizzarla per soddisfare richieste HEAD successive, a meno che non sia indicato diversamente dal campo di intestazione Cache-Control (Sezione 5.2 di [RFC7234]). Una risposta HEAD potrebbe anche avere un effetto sulle risposte GET precedentemente memorizzate nella cache; si veda la Sezione 4.3.5 di [RFC7234].

Il metodo HTTP HEAD è stato specificato nella sezione 4.3.2 del documento RFC 7231 dall'Internet Engineering Task Force (IETF) e dal World Wide Web Consortium (W3C).

Descrizione del metodo HEAD

Il metodo HTTP HEAD svolge un ruolo centrale nel protocollo HTTP, soprattutto quando si tratta di ottenere informazioni sulle risorse senza scaricare il contenuto effettivo o il "corpo" di tali risorse. Immaginate di voler sapere quanto è grande un file o se un certo link funziona ancora, senza scaricare l'intero file o pagina web. È qui che entra in gioco il metodo HEAD.

Principali caratteristiche e vantaggi del metodo HEAD:

  • Efficienza: HEAD consente di ottenere informazioni su una risorsa senza scaricare la risorsa stessa. Questo è particolarmente utile quando si ha bisogno solo di metadati e non dell'intero dato, risparmiando larghezza di banda e tempo.
  • Verifica dei link: Spesso il metodo HEAD viene utilizzato per verificare la validità dei link. Se un server risponde a una richiesta HEAD, di solito significa che il link è valido.
  • Proprietà del file: Ad esempio, se si vuole conoscere la dimensione di un file o quando è stato modificato l'ultima volta senza scaricarlo, il metodo HEAD può essere utile.
  • Gestione della cache: Poiché la risposta a una richiesta HEAD è memorizzabile nella cache, i server e le cache possono usarla per determinare se una versione memorizzata localmente di una risorsa è ancora aggiornata.

Per dirla semplicemente: Il metodo HEAD è come una "occhiata veloce" a una risorsa. Si ottengono informazioni di base su di essa senza approfondire o scaricare dati aggiuntivi. È un modo efficiente per controllare i metadati e assicurarsi che le risorse siano ancora disponibili o per conoscere le proprietà di un file prima di decidere di scaricarlo completamente.

Esempio per il metodo HTTP HEAD

Request header:
HEAD /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Response header:
Content-Type: application/json
Content-Length: 254
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache