La prima versione dell'HTTP, la 0.9, risale alla fine degli anni 1980 e costituiva, insieme con il linguaggio HTML e gli URL, il nucleo base del World Wide Web (WWW) global information initiative sviluppata da Tim Berners-Lee al CERN di Ginevra per la condivisione delle informazioni tra la comunità dei fisici delle alte energie. L'HTTP è il meccanismo che funziona su una richiesta/risposta. Il client esegue una richiesta e il server restituisce la risposta. Nell'uso comune il client corrisponde al browser ed il server la macchina su cui risiede il sito web. Vi sono quindi due tipi di messaggi HTTP: messaggi richiesta e messaggi risposta. I metodi di richiesta più famosi sono il GET, il POST e l’HEAD e, quelli di risposta sono HOST e User-Agent.
La prima versione effettivamente disponibile del protocollo fù la HTTP/1.0 la quale venne implementata dallo stesso Tim Berners-Lee nel 1991. A causa però di alcuni evidenti limiti della versione 1.0 del protocollo riscontarti anche grazie al successo del WWW esso venne esteso nella versione HTTP/1.1 con delle sostanziali differenze quali:
- Maggiori meccanismi di sicurezza;
- L’HEADER dell’host è officialmente richiesto;
- Vengono introdotte le sessioni;
- La connessione diventa persistente cioè Ogni richiesta e relativa risposta è trasferita utilizzando la stessa connessione TCP.
L'HyperText Transfer Protocol over Secure Socket Layer anche detto HTTP Secure consiste nella comunicazione tramite il protocollo HTTP all'interno di una connessione criptata. Il principio che sta alla base di HTTPS è quello di avere:
- L’autenticazione del sito web visitato;
- Protezione della privacy
- Integrità dei dati scambiati tra le parti comunicanti.
Questo protocollo fornendo quindi l'autenticazione del sito web e del server web associato con cui una delle parti sta comunicando, protegge la comunicazione dagli attacchi noti tramite la tecnica del man in the middle.
1xx - Codici Informatvi
2xx - Codici di successo
3xx - Codici di Reindirizzamento
4xx - Errori lato client
5xx - Errori lato server