==== Gli header della richiesta ====
Gli header di richiesta più comuni sono:
:'''{{code|Host'''}}: nome del server a cui si riferisce l'URL. È obbligatorio nelle richieste conformi HTTP/1.1 perché permette l'uso dei ''virtual host'' basati sui nomi.
:'''{{code|User-Agent'''}}: identificazione del tipo di client: tipo browser, produttore, versione...
:'''{{code|Cookie}}:''' utilizzati dalle applicazioni web per archiviare e recuperare informazioni a lungo termine sul lato client. Spesso usati per memorizzare un token di autenticazione o per tracciare le attività dell'utente.
=== Messaggio di risposta ===
I codici di risposta più comuni sono:
* '''{{code|200 OK'''}}. Il server ha fornito correttamente il contenuto nella sezione body.
* '''{{code|301 Moved Permanently'''}}. La risorsa che abbiamo richiesto non è raggiungibile perché è stata spostata in modo permanente.
* '''{{code|302 Found'''}}. La risorsa è raggiungibile con un altro URI indicato nel header Location. Di norma i browser eseguono la richiesta all'URI indicato in modo automatico senza interazione dell'utente.
* '''{{code|400 Bad Request'''}}. La risorsa richiesta non è comprensibile al server.
* '''{{code|[[Errore 404|404 Not Found]]'''}}. La risorsa richiesta non è stata trovata e non se ne conosce l'ubicazione. Di solito avviene quando l'URI è stato indicato in modo incorretto, oppure è stato rimosso il contenuto dal server.
* '''{{code|500 Internal Server Error'''}}. Il server non è in grado di rispondere alla richiesta per un suo problema interno.
* '''{{code|502 Bad Gateway.'''}} Il server web che agisce come [[reverse proxy]] non ha ottenuto una risposta valida dal server di upstream.
* '''{{code|505 HTTP Version Not Supported'''}}. La versione di http non è supportata.
==== Gli header della risposta ====
Gli header della risposta più comuni sono:
* '''{{code|Server'''}}. Indica il tipo e la versione del server. Può essere visto come l'equivalente dell'header di richiesta User-Agent
* '''{{code|Content-Type'''}}. Indica il tipo di contenuto restituito. La codifica di tali tipi (detti Media type) è registrata presso lo '''{{code|[[IANA]]'''}} ('''{{code|I'''}}nternet '''{{code|A'''}}ssigned '''{{code|N'''}}umber '''{{code|A'''}}uthority); essi sono detti tipi '''{{code|[[MIME]]'''}} ('''{{code|M'''}}ultimedia '''{{code|I'''}}nternet '''{{code|M'''}}ail '''{{code|E'''}}xtensions), la cui codifica è descritta nel documento RFC 1521. Alcuni usuali tipi MIME incontrati in una risposta HTTP sono:
** '''{{code|text/html'''}} Documento HTML
** '''{{code|text/plain'''}} Documento di testo non formattato
** '''{{code|text/xml'''}} Documento '''[[XML]]'''
** '''{{code|image/jpeg'''}} Immagine di formato '''[[Joint Photographic Experts Group|JPEG]]'''
=== Tipo di connessione ===
== Streaming HTTP ==
La fruizione nelle pagine WEB di materiale [[multimedialità|multimediale]], quale [[audio]] o [[video]] viene gestito in modo del tutto analogo al [[download]] dei file, tramite un '''caricamento progressivo''' o '''distribuzione progressiva''', in cui il file viene scaricato in modo progressivo dall'inizio alla fine (tramite i protocolli ''[[Real Time Streaming Protocol]]'' e ''[[Real-time Transport Protocol]]'') e nel caso il [[bit-rate]] sia eccessivo per la rete che lo trasporta può verificarsi un continuo ricaricamento del [[buffer]]
Per evitare questi inconvenienti esistono altri sistemi alternativi, che permettono l'adattamento del file alla rete dell'utente finale, questi sistemi sono caratterizzati dai protocolli:
|