Richiesta e risposta HTTP

I browser web interagiscono con i siti web seguendo il protocollo HTTP. Si tratta di un insieme standardizzato di regole per la comunicazione:

  • Quando visiti una pagina web, il browser invia richieste HTTP per le risorse della pagina, come HTML, CSS, JavaScript e immagini.
  • Quando un server HTTP (un server web che ospita un sito web) riceve una richiesta HTTP valida da un browser, il server risponde al browser con una risposta HTTP.
  • Le richieste e le risposte possono includere informazioni aggiuntive note come intestazioni HTTP.

Ad esempio, considera il sito cats.example.

Il sito web mitico cats.example.

Richiesta

L'accesso alla pagina cats.example avvia una catena di richieste a vari domini. Ciò include una richiesta di un'immagine ospitata su cats.example, una richiesta di uno script di analisi da analytics.example e altre richieste di risorse aggiuntive da altri domini.

Le richieste HTTP possono essere arricchite con intestazioni delle richieste HTTP per fornire informazioni supplementari dal browser al server web. Ad esempio, vengono spesso incluse intestazioni come le seguenti:

  • Accept-Language: en-US
    Questa intestazione indica la lingua preferita dell'utente, in questo caso l'inglese (Stati Uniti).
  • User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
    Questa intestazione fornisce dettagli sul browser e sul sistema operativo dell'utente, in questo caso "Mozilla/5.0" (famiglia di browser), "Macintosh" (sistema operativo) e "Chrome/127.0.0.0" (versione del browser).

Risposta

Quando un server web riceve una richiesta valida da un browser, invia al browser una risposta che fornisce la risorsa richiesta (il "payload"): HTML, CSS, JavaScript, un file immagine, un video o altri dati. Proprio come ogni richiesta dal browser può includere intestazioni della richiesta, ogni risposta dal server può includere intestazioni della risposta. Queste intestazioni della risposta vengono inviate insieme al payload.

Un'intestazione Set-Cookie inclusa in una risposta indica al browser di memorizzare del testo: un nome e un valore. Questo è noto come cookie HTTP. In risposta alla richiesta di cats.example/images/cat.jpg, il server cats.example include l'intestazione Set-Cookie:cat=tabby. In questo modo, il browser memorizza un cookie denominato cat con il valore tabby.

Questo cookie verrà quindi incluso nelle richieste successive a cats.example, fino alla scadenza o alla rimozione. In questo modo, il server può conservare le informazioni sull'utente in più pagine web o sessioni: ad esempio, che all'utente è stata mostrata l'immagine di un gatto soriano.


Header Azione Esempio Effetto
Risposta HTTP
Server al browser
Set‑Cookie Il server web chiede al browser di memorizzare un cookie. Set‑Cookie:cat=tabby Il cookie viene memorizzato dal browser e fornito nelle richieste successive al server che lo ha impostato.
Richiesta HTTP
Browser al server
Cookie Il browser fornisce un cookie. Cookie:cat=tabby Il cookie viene reso disponibile al server di destinazione della richiesta.

Demo

Strumenti

Scopri di più