Il protocollo HTTP (Hyper Text Transfer Protocol) viene usato da tutti i client e server web e gestisce il modo con cui questi si scambiano pagine HTML o altri file.
Il client web (cioè un browser come Microsoft Internet Explorer, Netscape Navigator, Opera ecc.) utilizza l'HTTP per richiedere file al server web. In primo luogo vengono richieste pagine HTML, che dopo essere state ricevute, vengono processate dal browser che provvede a fare richiesta di eventuali nuovi file richiamati nel codice HTML (immagini, fogli di stile css, script esterni ecc.) e a visualizzare il tutto sul monitor dell'utente.
Ogni richiesta http consta di:
- Metodo (GET, HEAD, PUT ...)
- URI (Uniform Resource Identifier) Il path o indirizzo completo della risorsa richiesta.
- Versione del protocollo (HTTP/1.0 o HTTP/1.1)
Un esempio tipico di una richiesta HTTP è:
GET / HTTP/1.0
Alla richiesta possono seguire degli HTTP headers come Accept-Language
, Date
, Expires
e vari altri (possono essere arbitrariamente definiti fra broswer e server).
Esistono attualmente 3 specifiche del protocollo HTTP:
HTTP/0.9 - Di fatto non è più utilizzato da nessuna parte
HTTP/1.0 - Ancora abbastanza utilizzato e supportato da ogni browser e web server
HTTP/1.1 - Introduce nuovi metodi (OPTIONS, TRACE, DELETE, PUT, CONNECT) e la gestione di Virtual Host. E' supportato da tutti i browser e server non troppo vecchi ed è utilizzato nella maggior parte dei casi.
HyperText Transfer Protocol: sintassi, headers, URI e methods. Introduzione a HTTPS.