Parliamo di HTTP/2
Ciao SiteGrounders! Visto che la settimana scorsa mi sono concentrato su certificati SSL e HTTPS mi sembrava giusto dedicare spazio questa volta al protocollo HTTP/2 di cui ho solo accennato qualcosa nel precedente post. Che cos’è dunque nello specifico questo HTTP/2 e perché è importante averlo e sapere cosa sia?
Internet, come lo conosciamo oggi, non sarebbe mai esistito senza l’HTTP. Esso è sempre stato il cuore e l’anima stessa di internet e ciò che ci consente di leggere le ultime notizie, ordinare articoli online, guardare video su YouTube e accedere ai nostri siti web preferiti su tutti i tipi di dispositivi: workstation, laptop, smartphone, tablet e persino e-reader che offrono funzionalità di navigazione.
Tuttavia il protocollo HTTP per molti anni, sin da quando fu rilasciata la versione 1.1 nel 1999, non ha visto modifiche sostanziali; ecco perché quando nel 2015 fu rilasciato HTTP/2 per molte compagnie come la nostra fu un momento di grande eccitazione. Ovviamente in SiteGround non ci siamo fatti sfuggire l’occasione e, già poco dopo il suo rilascio, tutti i nostri server lo supportavano.
Perché HTTP aveva bisogno di un aggiornamento?
I siti web moderni fanno centinaia di richieste HTTP e il protocollo HTTP/1.1 non era ben progettato per queste prestazioni e per le crescenti esigenze degli utenti. Nel decennio prima della comparsa dell’HTTP/2 nacquero innumerevoli nuove tecnologie e gli sviluppatori web sfoggiavano tutta la loro creatività per superare i limiti imposti dall’HTTP/1.1. Si era dunque arrivati a un punto in cui il protocollo stesso aveva bisogno di cambiare e introdurre nuove funzionalità per migliorare le performance di tutti i siti internet.
Cosa c’è di nuovo in HTTP/2?
HTTP/2 è basato sul protocollo SPDY (pronunciato “technologyy”) e si concentra sui miglioramenti delle prestazioni. Offre i seguenti miglioramenti:
Multiplexing per un trasferimento dati più veloce
I siti web moderni fanno molte richieste ai browser per la semplice visualizzazione di una pagina. All’inizio, HTTP/1.0 consentiva di effettuare una sola richiesta tramite una singola connessione TCP. Con HTTP/1.1 questo fu migliorato in modo che i browser potessero effettuare più richieste per caricare più risorse contemporaneamente. Sfortunatamente non fu possibile però risolvere un altro problema, l’head-of-line blocking.
Quando viene utilizzato HTTP/1.1, il flusso delle richieste è solitamente il seguente: il browser invia una richiesta e deve attendere la risposta del server per inviare la richiesta successiva. I siti web moderni dispongono di oltre 100 oggetti e, anche quando i browser utilizzano più connessioni, questo modo di gestire le richieste può richiedere molto tempo a causa dell’head-of-line blocking.
La soluzione introdotta con l’HTTP/2 è chiamata multiplexing: essa semplifica la richiesta e la ricezione di più oggetti web alla volta. Ecco un esempio di come HTTP/2 gestisce le stesse tre richieste mostrate nel diagramma precedente:
Come si può vedere dal secondo diagramma, quando viene utilizzato HTTP/2 l’utente invia più richieste e può riceverle in qualsiasi ordine, pertanto, le pagine si caricano più velocemente. Ad esempio, se il server ha bisogno di più tempo per gestire la seconda richiesta, la consegna del terzo oggetto non verrà bloccata ma avverrà prima.
Commenti ( 2 )
Grazie! Il tuo commento è trattenuto per moderazione e verrà pubblicato a breve, se correlato a questo articolo del blog. I commenti con richieste di assistenza o risoluzione problemi non verranno pubblicati. In tal caso, ti preghiamo di segnalarli tramite
Alessandro
Ciao, sono vostro cliente, ho forzato l'https però quando analizzo il mio sito mi dice che non ho attivo l'http/2: https://clip2net.com/s/4cLrY6L Puoi aiutarmi?
Luca Rodino Il Team di SiteGround
Ciao Alessandro, ho fatto un check al volo tramite Inspect su Chrome del tuo sito e sembra che il protocollo HTTP/2 funzioni regolarmente (dovrebbe infatti essere attivo di default). Nel caso tu voglia fare un doppio check puoi fare un'ispezione pagina su Chrome andando sul tuo sito e cliccando con il tasto destro > Ispeziona. Seleziona la voce "Network" e ricarica la pagina. Vedrai nella colonna "Protocol" se stai utilizzando o meno HTTP/2. Puoi anche fare un controllo via chat con un nostro operatore e verificare subito se qualcosa non funziona nel modo corretto.
Inizia la discussione
Grazie! Il tuo commento è trattenuto per moderazione e verrà pubblicato a breve, se correlato a questo articolo del blog. I commenti con richieste di assistenza o risoluzione problemi non verranno pubblicati. In tal caso, ti preghiamo di segnalarli tramite