| Pubblicato
18 Settembre 2020

HTTP

Jacopo Matteuzzi

L'Hypertext Transfer Protocol (HTTP) è il fondamento del World Wide Web, e viene utilizzato per caricare pagine web utilizzando link ipertestuali.

L'HTTP è un protocollo di livello applicativo progettato per trasferire informazioni tra dispositivi collegati in rete e funziona sopra altri livelli dello stack di protocollo di rete.

Un tipico flusso su HTTP coinvolge una macchina client che fa una richiesta ad un server, che poi invia un messaggio di risposta.

Il protocollo HTTP (o HTTPS) è la prima parte di un URL (indirizzo web).

Cos'è una richiesta HTTP?

Una richiesta HTTP è il modo in cui le piattaforme di comunicazione internet come i browser web richiedono le informazioni necessarie per caricare un sito web.

Ogni richiesta HTTP effettuata attraverso Internet porta con sé una serie di dati codificati che trasportano diversi tipi di informazioni. Una tipica richiesta HTTP contiene:

  • Tipo di versione HTTP
  • un URL
  • un metodo HTTP
  • Headers di richiesta HTTP
  • Body HTTP opzionale.

Esploriamo in modo più approfondito come funzionano queste richieste e come il contenuto di una richiesta può essere utilizzato per condividere informazioni.

Cos'è un metodo HTTP?

Un metodo HTTP indica l'azione che la richiesta HTTP si aspetta dal server interrogato. Per esempio, due dei metodi HTTP più comuni sono 'GET' e 'POST'.

  • Una richiesta 'GET' si aspetta informazioni in cambio (di solito sotto forma di un sito web)
  • Una richiesta 'POST' indica tipicamente che il client sta inviando informazioni al server web (come ad esempio informazioni sul modulo, ad esempio un nome utente e una password inviati).

Cos'è una risposta HTTP?

Una risposta HTTP è ciò che i client web (spesso browser) ricevono da un server Internet in risposta a una richiesta HTTP. Queste risposte comunicano informazioni preziose sulla base di quanto richiesto nella richiesta HTTP.

Una tipica risposta HTTP contiene:

  • uno status code HTTP
  • Headers di risposta HTTP
  • Body HTTP opzionale

Cos'è uno status code HTTP?

Gli status code HTTP sono codici a 3 cifre utilizzati più spesso per indicare se una richiesta HTTP è stata completata con successo. I codici di stato sono suddivisi nei seguenti 5 blocchi:

  • 1xx Informativo
  • 2xx Successo
  • 3xx Reindirizzamento
  • 4xx Errore del client
  • 5xx Errore del server

Lo "xx" si riferisce a numeri diversi tra 00 e 99.

I codici di stato che iniziano con il numero "2" indicano un successo. Ad esempio, dopo la richiesta di una pagina web da parte di un cliente, le risposte più frequenti hanno un codice di stato '200 OK', che indica che la richiesta è stata completata correttamente.

Se la risposta inizia con un '4' o un '5' significa che c'è stato un errore e la pagina web non verrà visualizzata.

Uno status code che inizia con un '4' indica un errore lato client (è molto comune incontrare un codice di stato '404 NOT FOUND' quando si effettua un errore di battitura in un URL).

Un codice di stato che inizia con '5' indica che qualcosa è andato storto sul lato server.

I codici di stato possono anche iniziare con un '1' o un '3', che indicano rispettivamente una risposta informativa e un reindirizzamento (il più comune è il 301, che indica un reindirizzamento permanente).

HTTP e HTTPS

Questo protocollo fa essenzialmente la stessa cosa dell'HTTP, ma è un'opzione molto più sicura che cripta i dati inviati avanti e indietro tra il browser e il server.

Un tempo la maggior parte dei siti ha usato il protocollo HTTP (Hypertext Transfer Protocol), e questa versione è ancora visibile sul web.

Tuttavia, da qualche anno c'è una tendenza verso l'adozione diffusa di Hypertext Transfer Protocol Secure (HTTPS).

Ecco perché la maggior parte dei browser gli fornisce un lucchetto di sicurezza verde:

Il protocollo HTTPS
Jacopo Matteuzzi

Chairman of the Board @ Studio Samo