Ogni pagina web è fatta da oggetti, che possono essere file HTML, CSS, JS, immagini, applet Java, media, ecc.
Ogni oggetto è indirizzato da un Uniform Resource Locator (URL):
Viene utilizzata l'architettura Client-Server pura, cioè nessuna memoria delle richieste viene mantenuta nei server sulle richieste ricevute dal client (protocollo stateless).
Per avviare una comunicazione HTTP:
È una connessione TCP usata per una sola sessione richiesta-risposta. Il server chiude la la connessione TCP una volta inviato l'oggetto.
La connessione TCP rimane aperta ed è usata per trasferire più oggetti della stessa pagina web. Può essere utilizzata con pipelining (richieste HTTP inviate in serie) o senza pipelining (richieste HTTP inviate in parallelo).
Il Round Trip Time è il tempo per trasferire un messaggio dal client al server e viceversa.
Il tempo di risposta di HTTP è composto da un RTT per iniziare la connessione TCP, un RTT per inviare i primi byte della richiesta HTTP e ricevere i primi byte di risposta e il tempo di trasmissione dell'oggetto.
Il tempo di trasmissione per trasmettere
Usato quando il client vuole scaricare una risorsa dal server. Il documento è specificato solo nell'url (non esiste il body). Il server risponde con la risorsa richiesta nel body
Usato quando il client vuole scaricare solo alcune informazioni riguardo una risorsa
Usato per caricare dei dati sul server da utilizzare per un oggetto identificato nell'url
Utilizzato per memorizzare dei dati nel server. La risorsa è fornita nel body
e la posizione è nell'url
Cancella la risorsa specificata nell'url
Aggiungendo un header If-modified-since: <data>
a una richiesta HTTP il server ci restituirà l'oggetto solo se la copia presente sul client è aggiornata. In caso alternativo la status line della risposta sarà HTTP/1.0 304 Not Modified
Lo status code può essere utilizzato per identificare i contenuti del messaggio, generalmente sono identificati in: