Richiesta e risposta HTTP

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

  • Quando visiti una pagina web, il browser invia richieste HTTP per le risorse presenti nella pagina, ad esempio 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, prendi in considerazione il sito cats.example.

Il mitico sito web cats.example.

Richiesta

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

Le richieste HTTP possono essere integrate con le 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 dall'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 ("payload"): HTML, CSS, JavaScript, un file immagine, un video o altri dati. Così come ogni richiesta del browser può includere intestazioni di richiesta, ogni risposta del server può includere intestazioni di risposta. Queste intestazioni di 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. Questo indica al browser di memorizzare un cookie denominato gatto con il valore tabby.

Questo cookie verrà incluso nelle richieste successive a cats.example, fino a quando non scade o viene rimosso. In questo modo, il server può conservare le informazioni sull'utente su più pagine web o sessioni: ad esempio, che all'utente è stata mostrata un'immagine di un gatto tigrato.


Header Azione Esempio Effetto
Risposta HTTP
Dal 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ù