Richieste e Risposte nel Protocollo HTTP
Supponiamo che un utente voglia aprire nel browser una certa pagina di un certo sito. Per farlo, l'utente segue un link o inserisce l'URL della pagina nella barra degli indirizzi del browser. In questo caso, entrambi i metodi sono tecnicamente equivalenti.
Dopodiché, il browser invia al server una richiesta (request), in cui chiede al server di restituire la pagina all'URL specificato. Il server riceve la richiesta del browser, forma una risposta (response) e la invia indietro al browser.
La richiesta e la risposta sono semplicemente stringhe, formattate in un modo speciale. Le regole per la formattazione di queste stringhe sono regolate dal protocollo HTTP.
Pertanto, tutta l'interazione tra client e server si riduce allo scambio di messaggi, simile a una pallina in una partita di ping-pong.
In questo caso, l'iniziativa della richiesta è obbligatoria. Ciò significa che il server invia sempre una risposta alla richiesta del browser. Non può succedere che il server invii qualcosa al browser da solo, senza una richiesta preliminare da parte del browser.