Tutto il traffico web su Internet utilizza il noto protocollo HTTP. Quello che potresti non sapere è che in realtà sono state pubblicate e utilizzate più versioni del protocollo HTTP su Internet. La prima versione pubblicata è stata HTTP V0.9 ed è stata rilasciata nel 1991, la versione 1.0 è stata rilasciata nel 1996 e sostituita nel 1997 con HTTP/1.1.
Da allora HTTP/1.1 è stato il protocollo di comunicazione web standard. Anche se il protocollo ha visto una serie di revisioni e chiarimenti che hanno reso obsolete le versioni precedenti, è stato utilizzato il nome HTTP/1.1. Le revisioni più recenti sono state effettuate nel 2014.
HTTP/2 è stato pubblicato nel 2015 ed è stato progettato per essere offerto insieme anziché per sostituire il precedente standard HTTP/1.1. Si basa sul protocollo SPDY (pronunciato "veloce") sviluppato da Google ed è progettato per mantenere la massima compatibilità possibile con HTTP/1.1, ad esempio con codici di errore e metodi di richiesta.
Il protocollo HTTP/2 è inoltre progettato per aumentare la velocità di caricamento delle pagine Web attraverso una serie di miglioramenti dell'efficienza. Non sostituendo HTTP/1.1, i dispositivi meno recenti che non supportano HTTP/2 possono ancora funzionare mentre quelli che supportano il protocollo più recente possono ricevere i vantaggi.
Miglioramenti HTTP/2
Uno dei grandi cambiamenti in HTTP/2 è che tutte le risorse su una pagina possono essere richieste e restituite in un'unica connessione. In precedenza in HTTP/1.1 il browser web doveva aprire una nuova connessione per ogni risorsa richiesta e poi chiuderla. Ciò porta a un sovraccarico extra, soprattutto se una pagina ha decine o addirittura centinaia di risorse, rallentando i tempi di caricamento della pagina. Richiedendo tutte le risorse in un'unica connessione, il browser deve solo negoziare una singola connessione al server web, riducendo l'overhead di trasmissione e il carico di risorse.
Suggerimento: una risorsa Web è qualsiasi file utilizzato nella visualizzazione di una pagina Web. Ad esempio, questo include il codice HTML, le immagini, le informazioni sullo stile e gli script.
Un altro miglioramento in HTTP/2 è che le richieste web sono ora "convogliate", questo consente di inviare più richieste prima che siano state ricevute risposte. In precedenza in HTTP/1.1, ogni richiesta doveva essere effettuata in ordine, il che significava che si trascorreva del tempo in attesa di una risposta alla richiesta precedente per richiedere la risorsa successiva, ritardando il tempo di caricamento della pagina.
Implementazione nei browser
Tutti i browser moderni supportano HTTP/2. Sfortunatamente, il tasso di implementazione sui siti Web è meno universale. Tuttavia, gli utenti possono ottenere i vantaggi di HTTP/2 su quei siti Web che sono stati configurati per utilizzarlo.
Sebbene il protocollo HTTP/2 stesso non richieda l'uso della crittografia, tutte le implementazioni del browser lo fanno. Pertanto, il protocollo HTTP/2 può essere utilizzato solo su connessioni HTTPS.