Nel 2009 Google ha presentato la sua alternativa all’HTTP/1.1, cioè SPDY. Il punto più critico della vecchia versione HTTP era ed è ancora oggi il fatto che il protocollo di trasferimento rallenta inutilmente i siti complessi più moderni. Infatti, ad esempio, utilizzando il protocollo HTTP/1.1, per ogni singola immagine deve essere instaurata una nuova connessione TCP/IP. Con il protocollo SPDY Google ha risolto questa problematica tramite la multiplazione delle trasmissioni. In questo modo, sfruttando una sola connessione TCP/IP, possono essere inviati molti tipi di documenti. La Internet Engineering Task Force (IETF) ha iniziato a lavorare allo sviluppo dell’HTTP/2 nel 2012, basandosi sul protocollo di Google. Dato che le implementazioni del protocollo SPDY contengono numerosi errori e soprattutto falle di sicurezza, sono state apportate delle modifiche importanti e ciò ha portato l’HTTP/2 a distanziarsi notevolmente dal protocollo SPDY.
L’HTTP/2 è compatibile retroattivamente e quindi non è un problema se il server o il browser lavorano ancora con il vecchio standard HTTP/1.1. L’opzione pianificata successivamente che l’HTTP/2 utilizzasse il protocollo standard di crittografia TLS non è stata integrata nella versione definitiva.
Una caratteristica peculiare dell’HTTP/1.1 è stata già menzionata: deve essere stabilita ogni volta una connessione TCP/IP separata per trasferire al client diversi elementi della pagina come immagini, JavaScript o file CSS. Invece, l’HTTP/2 applica, come il suo modello SPDY, un processo di multiplazione, in modo che il sito web completo venga caricato in un’unica connessione. Inoltre, ora il server ha la possibilità di re-inoltrare i dati previsti di risposta al client senza che vengano richiesti (server push). Ancora, utilizzando il protocollo HTTP/2, i pacchetti dei componenti del sito web vengono inviati in base alla priorità, per esempio vengono trasmessi per primi gli elementi responsabili per la struttura del sito. L’Header HTTP viene inviato notevolmente compresso rispetto all’HTTP/1.1 così da non venire comunicate informazioni inutili. Un’ulteriore novità è l’utilizzo del codice binario (al posto di file di testo) per la comunicazione, cosa che lo semplifica e lo rende più sicuro.
Qui tutte le novità dell’HTTP/2 in sintesi:
- Un’unica connessione TCP/IP per ogni sito web
- Processo di multiplazione per scambiare i dati raccolti
- Scambio di informazioni sfruttando un codice binario
- Header HTTP ridotto
- Server push nel caso di richieste di risposta prevedibili
- Priorità agli elementi della pagina più importanti
Il protocollo HTTP/2 è attualmente disponibile su tutti i pacchetti Hosting.