Uno sguardo più da vicino a HTTP/2: come funziona e cosa significa per il Web
Pubblicato: 2023-02-09Nel 2015 è stata approvata una nuova versione del protocollo di rete HTTP — HTTP/2. Ora sta diventando sempre più popolare: il protocollo supporta già i server Web Apache e Nginx, i browser Chrome, Firefox, Opera, Edge e Safari, nonché i dispositivi mobili.
Il numero di servizi e siti HTTP/2 è in costante crescita. Nel prossimo futuro, Internet attende il passaggio a un nuovo protocollo, che accelera il download del sito web.
Scopriamo come questo influenzerà la costruzione del sito, la SEO e altri aspetti.
Cos'è HTTP/2?

Il protocollo HTTP/1.1 è stato utilizzato dal 1999 e nel tempo ha acquisito un problema significativo. I siti moderni, a differenza di quanto era popolare nel 1999, utilizzano molti elementi diversi: script JavaScript, stili CSS e talvolta anche animazioni flash. Quando li trasferisci tutti, il browser e il server creano diverse connessioni.
Il protocollo HTTP/2 accelera notevolmente la velocità dei siti Web grazie alle seguenti funzionalità:
- Connessioni: più richieste possono essere inviate tramite una singola connessione TCP e le risposte possono essere ricevute in qualsiasi ordine. Non è necessario mantenere più connessioni TCP.
- Priorità del thread: il client può impostare le priorità del server: quali tipi di risorse sono più importanti per lui rispetto ad altri.
- Compressione dell'intestazione: la dimensione dell'intestazione HTTP può essere ridotta.
- Invio push dei dati dal lato server: il server può inviare al client i dati che non sono ancora stati richiesti, ad esempio in base ai dati relativi alla pagina successiva che gli utenti apriranno.
Lo sviluppo del protocollo HTTP 2 era basato sul protocollo SPDY, sviluppato da Google. Ma Google ha già annunciato che rifiuterà l'ulteriore supporto SPDY a un HTTP/2 più promettente.
Leggi: Perché il tuo sito WordPress è lento e come velocizzarlo?
Caratteristiche principali di HTTP/2
- Multiplexing
- Spinta del server
- Compressione dell'intestazione
- Assegnazione di priorità al flusso
- Controllo del flusso
Differenza tra HTTP e HTTP 2
Le modifiche apportate al primo protocollo non richiedono molte modifiche al funzionamento delle applicazioni. Tuttavia, c'è un vantaggio per le nuove applicazioni che funzioneranno con una maggiore velocità. Le principali differenze tra i due protocolli sono state confrontate di seguito:
Caratteristica | http | HTTP2 |
---|---|---|
Sintassi | La sintassi di alto livello è la stessa | La sintassi di alto livello è la stessa |
Inquadratura dei dati | Inquadratura dei dati modificata | Framing dei dati migliorato |
Interrogazioni | Domande limitate | Altre domande |
Reattività del server | Reattività limitata | Reattività migliorata |
Siti web efficienti | Richieste ridotte al minimo | Maggiore efficienza |
Blocco in testa alla linea | Presente in HTTP | Superato in HTTP2 |
Multiplexing | Non presente | Presente |
Compressione dell'intestazione | Non presente | Presente |
Richiedi priorità | Non presente | Presente |
Di seguito è riportata una buona rappresentazione visiva della differenza fondamentale tra HTTP/1 e HTTP/2 (per gentile concessione: http://ruzhekov.com)

Pro e contro di HTTP/2
Professionisti
- Velocità di caricamento della pagina migliorata
- Migliore utilizzo delle risorse di rete
- Maggiore esperienza utente
- Migliore compatibilità con le moderne tecnologie web
Contro
- Si dice che il protocollo sia incoerente e complesso
- Viola il principio della stratificazione del protocollo
- Viene fornito con un costo di crittografia pesante
- Non compatibile con alcuni dispositivi come i router
- Manca la crittografia opportunistica
Perché il mondo aveva bisogno di HTTP/2?
- HTTP è stato descritto per la prima volta nel 1991 e la sua ultima versione, HTTP/1.1, è stata approvata nel 1999 ed è ancora in uso oggi.
- Le dimensioni dei siti Web sono cresciute in modo significativo nel corso degli anni, comportando tempi di caricamento lenti e limitazioni sul numero di connessioni simultanee tramite HTTP/1.1.
- Sono state implementate soluzioni temporanee come l'ottimizzazione del caricamento del sito Web, ma offrono solo una soluzione a breve termine.
- Gli ingegneri di Google hanno iniziato a lavorare per migliorare il protocollo nel 2009, portando alla creazione del protocollo SPDY, che è più veloce e supportato dalla maggior parte dei browser ma richiede il supporto lato server.
- HTTP/2 è basato su SPDY ed è retrocompatibile con HTTP/1.1. Non è necessario aggiornare immediatamente, ma alla fine i siti potrebbero caricarsi più lentamente sul protocollo precedente.
HTTP/2 è davvero più veloce?
Gli esperti di HttpWatch hanno eseguito diversi test e hanno riscontrato una notevole accelerazione con HTTP 2.

Lo screenshot qui sotto mostra la velocità di download della pagina utilizzando HTTP / 1.1:

E su questo screenshot - il risultato dell'utilizzo di HTTP 2:

Velocità di download aumentata del 23%. Gli esperti di HttpWatch notano inoltre che la tecnologia non è ancora completamente ottimizzata e si aspettano un'accelerazione reale fino al 30%.
Perché HTTP/2 funziona più velocemente?
- Più richieste inviate all'interno della stessa connessione in HTTP/2 (multiplexing) comportano un caricamento più rapido degli elementi statici
- La compressione delle intestazioni HTTP in HTTP/2 riduce la quantità di dati tra il server e il browser, liberando risorse
- Sicurezza migliorata con connessioni crittografate per il supporto HTTP/2 dai browser di tendenza (Google Chrome, Mozilla Firefox)
- L'ordine di priorità cambia in HTTP/2 con la priorità come metodo desiderabile per il corretto funzionamento del multiplexing
- La mancanza di configurazione della priorità in HTTP/2 può portare a una velocità ridotta poiché le risorse che possono essere caricate in un secondo momento richiederanno una striscia separata e una parte della potenza.
Perché è importante velocizzare il caricamento della pagina del sito web?
- Il supporto HTTP 2 non è un fattore di ranking diretto per Google
- La velocità di download è un fattore di ranking significativo per Google
- HTTP/2 può influire positivamente sulla velocità del sito Web e sul posizionamento a causa di fattori comportamentali
- Le pagine più veloci hanno un tasso di errore inferiore e possono comportare un maggiore coinvolgimento degli utenti
- Google Bot supporterà presto HTTP/2
- HTTP 2 potrebbe diventare un fattore di ranking in futuro man mano che i motori di ricerca cambiano gli algoritmi.
I vantaggi per gli sviluppatori web
HTTP 2 ti consente di sbarazzarti dei vecchi trucchi, progettati per velocizzare il caricamento della pagina senza HTTP/2. Elenchiamo il:
- Sharding del dominio o utilizzo di più domini correlati per scaricare file per consentire la creazione di più connessioni TCP.
- Sprite di immagini: combinazione di immagini in un unico file per ridurre il numero di richieste. Tuttavia, tale file deve prima essere completamente caricato per essere visualizzato. Inoltre, l'elaborazione di file di grandi dimensioni consuma più memoria.
- Combina i file CSS e JavaScript, operazione che viene eseguita anche per ridurre il numero di richieste e aumentare anche l'utilizzo della memoria.
- Inclusione in linea o inserimento di CSS e JavaScript, e talvolta anche di immagini all'interno del file HTML, per ridurre il numero di connessioni. Allo stesso tempo, la pagina non viene visualizzata finché non viene caricato l'intero file.
- Domini senza file cookie: scarica immagini, CSS e JavaScript da un altro dominio in cui i cookie non vengono utilizzati.
Come implementare HTTP 2?
Per implementare HTTP 2, è necessario seguire questi passaggi:
- Controlla il supporto del server: assicurati che il software del tuo server supporti HTTP 2. I software server più diffusi come Apache, Nginx e IIS hanno il supporto integrato per HTTP 2.
- Abilita HTTP 2: dopo aver confermato che il tuo server supporta HTTP 2, dovrai abilitarlo. Il metodo per abilitare HTTP 2 varia a seconda del software del server in uso.
- Usa HTTPS: HTTP 2 richiede una connessione sicura tramite HTTPS, quindi devi avere un certificato SSL installato sul tuo server.
- Aggiorna il tuo codice: se stai utilizzando una libreria o un framework che gestisce le connessioni HTTP, assicurati che supporti HTTP 2. Alcune librerie potrebbero richiedere aggiornamenti per funzionare con HTTP 2.
- Testa il tuo sito: dopo aver apportato le modifiche necessarie, testa il tuo sito per assicurarti che funzioni con HTTP 2. Controlla la console del browser per eventuali errori o avvisi.
- Monitora le prestazioni: monitora regolarmente le prestazioni del tuo sito per assicurarti che funzioni senza problemi con HTTP 2.
- Considera le ottimizzazioni delle prestazioni: l'implementazione di HTTP 2 migliorerà le prestazioni del tuo sito, ma potrebbero esserci ancora opportunità per un'ulteriore ottimizzazione. Ad esempio, la combinazione di immagini in sprite, la compressione delle immagini e la riduzione del numero di richieste HTTP possono migliorare ulteriormente le prestazioni.
Conclusione
HTTP 2 è retrocompatibile con HTTP 1.1 e non richiede la migrazione. Tuttavia, poiché i server Web e i browser adottano HTTP 2, potrebbe essere necessario aggiornare le tecniche di ottimizzazione del sito per evitare di rallentare il sito Web.
Leggi: Una guida completa sulla migrazione da HTTP a HTTPS in WordPress
L'unione di immagini in sprite migliora la compressione e riduce il download dei dati evitando l'uso di URI di dati per l'incorporamento di immagini può migliorare la memorizzazione nella cache. Il partizionamento del dominio non è più necessario in HTTP 2, poiché consente richieste dirette di risorse e può ridurre le prestazioni creando connessioni aggiuntive.
Domande frequenti
A cosa serve HTTP2?
HTTP2 è un protocollo utilizzato per trasferire dati su Internet, migliorando la velocità e la sicurezza della distribuzione di contenuti Web come pagine, immagini e video da un server a un browser. Offre un caricamento delle pagine più rapido e una maggiore efficienza rispetto al suo predecessore, HTTP 1.1, consentendo l'invio e la ricezione simultanea di più richieste.
Qual è la differenza tra HTTP e HTTP2?
HTTP2 è una versione aggiornata di HTTP che è più veloce ed efficiente del suo predecessore. Utilizza una singola connessione per caricare più risorse, mentre in HTTP erano necessarie più connessioni. HTTP2 fornisce anche la compressione dei dati e la definizione delle priorità, portando a tempi di caricamento delle pagine più rapidi per gli utenti.
Perché http2 non è ampiamente utilizzato?
HTTP2 non è ampiamente utilizzato a causa di problemi di compatibilità e implementazione. Alcuni vecchi dispositivi e software non supportano HTTP2 e richiedono un server dedicato e un certificato SSL per l'implementazione.