Nel corso degli anni i siti web sono diventati sempre più grandi e complessi. Per caricare un sito web moderno nel browser, il browser deve richiedere diversi megabyte di dati e inviare fino a cento richieste HTTP individuali. Poiché HTTP/1.1 prevede che le richieste all’interno di una connessione siano elaborate una dopo l’altra, più un sito web è complesso, maggiore è il tempo necessario per caricare la pagina.
Pertanto Google ha sviluppato un nuovo protocollo sperimentale chiamato SPDY (pronuncia: “speedy”), che ha suscitato grande interesse da parte della comunità degli sviluppatori e alla fine ha portato alla pubblicazione della versione del protocollo HTTP/2 nel 2015. Questo nuovo standard apporta tra l’altro le seguenti innovazioni, tutte volte ad accelerare il caricamento dei siti web:
- Binario: il protocollo si basa su dati binari anziché su file di testo.
- Multiplex: client e server possono inviare e processare parallelamente più richieste HTTP.
- Compressione: gli header sono compressi; poiché spesso nelle molte richieste HTTP sono quasi identici, la compressione elimina la ridondanza non necessaria.
- Server Push: se il server è in grado di prevedere quali dati saranno ancora necessari al client, può inviarli alla cache del client, senza una precedente richiesta HTTP.
HTTP/2 si è affermato rapidamente; in particolare, è stato subito adottato dai siti web con molto traffico. Attualmente (aggiornato a gennaio 2020) secondo W3Techs il 42 per cento circa dei siti web usa la versione HTTP/2.