Home / Glossario / HTTP

Http

Significato di Http

HTTP definizione Http (protocollo di trasferimento di un ipertesto) è un protocollo di rete, il più utilizzato a livello applicativo, che permette lo scambio di informazioni sul web: contiene, infatti, regole e istruzioni indispensabili affinché due macchine collegate in rete possano interagire tra di loro.

HTTP: cos’è e che caratteristiche ha

Fin da subito l’hypertext transfer protocol (HTTP) fu pensato e proposto a enti normatori di Internet come l’IETF1come un’architettura client-server: c’è un client –generalmente il browser che l’utente utilizza per navigare in Rete – che effettua una determinata richiesta e un server – classicamente la macchina che ospita il sito web – che la elabora attraverso un host e fornisce una risposta.

The Http and the Web | Http Explained | Request-Response Cycle
The Http and the Web | Http Explained | Request-Response Cycle

Immediatamente il protocollo HTTP si dimostrò più funzionale allo scambio di informazioni sul web, tramite link e collegamenti attivi a risorse localizzate su server diversi. Rispetto ad altri protocolli di rete, come l’FTP per esempio, stabilisce infatti collegamenti di natura stateless: significa che le connessioni tra client e server vengono chiuse immediatamente dopo che la singola richiesta è stata soddisfatta. Ciò garantisce un minor impiego di risorse e, cioè, minor carico e minor occupazione sia del server e sia del client; il contraltare è, però, l’impossibilità di mantenere lo stato dell’utente tra una sessione e l’altra, ragione per cui si è fatto ricorso nel tempo a sistemi alternativi e terzi come i cookie per esempio.

Le diverse versioni dell’hypertex transfer protocol

La prima versione del protocollo HTTP del 1996, il cosiddetto HTTP/0.92, non mancava di imperfezioni e vulnerabilità: poco o nulla garantiva, per esempio, quanto ad autenticazione di client e server o a cifratura del messaggio e non permetteva né il riutilizzo delle connessioni disponibili né di fare virtual host, ossia di ospitare più siti diversi sullo stesso server.

Nel tempo, così, versioni successive come l’HTTP/1.13 del 1999 e l’HTTP 2 del 2015 e ancora in uso hanno provato a risolverle.

L’HTTPS

Gli sviluppatori hanno lavorato soprattutto a versioni sicure dell’HTTP che permettessero, come già si accennava, in particolar modo di autenticare client e server, cifrare i messaggi scambiati tra i due, verificare l’integrità del traffico: SHTTP, ormai caduto in disuso, e HTTPS sono le versioni di questo protocollo di rete più riuscite nell’obiettivo. Il secondo, in particolare, utilizza a propria volta due protocolli di crittografia end-to-end come SSL e TLS che cifrano a livello di trasporto ogni parte del messaggio: la migrazione in HTTPS che negli ultimi anni ha subito la maggior parte di siti web (e di cui ci si accorge immediatamente anche visivamente, grazie alla presenza del simbolo di un lucchetto vicino all’URL delle sue pagine visualizzato sul browser) garantisce che la transazione in ogni sua parte non sia intercettabile.

https vs http

Quali sono le principali differenze tra HTTP e HTTPS, una sua versione più sicura. Fonte immagine: Infosectrain

Come funziona l’HTTP

Per tornare a come funziona l’HTTP, può per comodità aiutare pensare che quello che di fatto avviene quando per esempio si digita sul proprio browser predefinito l’URL della pagina di un sito che si intende raggiungere – ed è lo stesso URL che, nella sua parte iniziale, dà istruzioni alle due macchine di utilizzare come protocollo di rete il protocollo HTTP – è che il browser manda al server che ospita il sito un messaggio di richiesta e il server risponde a propria volta con un messaggio di risposta.

Il messaggio di richiesta HTTP

Volendo schematizzare, una richiesta HTTP contiene:

  • una request line con informazioni sul metodo HTTP da utilizzare;
  • un header che specifica qual è l’URL della risorsa da raggiungere, che versione di HTTP utilizzare e può contenere informazioni aggiuntive sul tipo di client per esempio o sull’utilizzo di cookie e di che tipo da parte dell’utente;
  • una riga vuota con due caratteri di carriage return e line feed (CRLF);
  • un eventuale corpo del messaggio (body).
esempio richiesta http

Messaggio di richiesta http: com’è fatto. Fonte immagine: documentation.HELP!

Il metodo HTTP in particolare contiene istruzioni sul tipo di interazione da stabilire tra le due risorse in rete e, ancora meglio, sul tipo di risposta che il client si aspetta dal server. Le sigle che si possono trovare nella riga di richiesta e riguardanti appunto il metodo HTTP da utilizzare sono numerose. Tra le più ricorrenti ci sono però

  • GET” che indica la necessità di ottenere il contenuto della risorsa in questione (il caricamento in tutte le sue parti della pagina web, per esempio);
  • HEAD”  che indica di leggere i soli dati contenuti nell’header (perché si ha bisogno di verificare, per esempio, la data in cui un determinato file è stato modificato);
  • POST” che è utilizzato per segnalare l’invio di informazioni al server da parte del cliente (come avviene quando si compila un form o si effettua un login digitando username e password).
metodi http quali sono

Quali sono e quanto sono sicuri i diversi metodi HTTP. Fonte immagine: Alien Coders

Il messaggio di risposta HTTP

In maniera per molti versi speculare, un messaggio di risposta HTTP contiene:

  • una riga di stato;
  • un header;
  • una riga vuota con i caratteri CRLF;
  • un body.
esempio risposta http

Un esempio di risposta http. Fonte immagine: documentation.HELP!

Gli status HTTP, visualizzati come primissima informazione nella riga di stato, sono codici di tre cifre che indicano appunto lo stato di avanzamento della risposta da parte del server. La cifra iniziale, in particolare, identifica diversi tipi di messaggi da rivolgere al client. Se è un “2” significa che la richiesta dell’ultimo è stata eseguita con successo. Se è un “1” o un “3” il messaggio di risposta intende fornire al cliente delle informazioni, quali l’avvenuto reindirizzamento per esempio: l’HTTP status più comune è in questo senso il 301 che indica il reindirizzamento verso una risorsa web che è stata spostata da un indirizzo all’altro. Quando la prima cifra è, infine, un “4” o un “5” il messaggio di risposta segnala degli errori HTTP: da parte del client nel primo caso, quando per esempio è stato digitato un url sbagliato o che non esiste più (è il caso del noto errore 404), e da parte del server nel secondo (con errori come l’altrettanto noto 502 Bad Gateway, ecc.).

http status quali sono

Status HTTP: quali sono e che cosa indicano. Fonte immagine: Pinterest/@Steve Schoger

Argomenti correlatiurl
Note
  1. Marengo A., Pagano A. (a cura di), Informatica di base, McGraw-Hill, 2021
  2. RFC 1945
  3. RFC 2616

© RIPRODUZIONE RISERVATA È vietata la ripubblicazione integrale dei contenuti

Cerca nel Glossario
Resta aggiornato!

Iscriviti gratuitamente per essere informato su notizie e offerte esclusive su corsi, eventi, libri e strumenti di marketing.

loading
MOSTRA ALTRI