HTTP/3 è la versione più recente del protocollo di trasferimento ipertestuale (HTTP), che è il protocollo utilizzato per trasferire dati tra browser web e siti web. I protocolli sono un insieme di regole o standard che stabiliscono come i dati o le informazioni vengono trasmessi, ricevuti e interpretati tra dispositivi, sistemi o parti.
HTTP/3 migliora il modo in cui i dati vengono consegnati attraverso internet utilizzando un protocollo di trasporto più recente chiamato QUIC, invece del tradizionale TCP utilizzato da HTTP/1.1 e HTTP/2. HTTP/3 è stato progettato per rendere i siti web più affidabili, più sicuri e più veloci da caricare. Questo è particolarmente vero per le reti con alta latenza o perdita di pacchetti (come le reti mobili).
In termini più semplici, HTTP/3 è un aggiornamento delle versioni esistenti di HTTP mirato a fornire esperienze web più veloci e sicure.
Quali problemi risolve HTTP/3?
HTTP/3 affronta diverse sfide di lunga data associate alla comunicazione web basata su TCP. In particolare, migliora quanto segue:
Blocco di testa di linea. Uno dei problemi più notevoli è il blocco di testa di linea. Con TCP, se un singolo pacchetto viene perso durante la trasmissione, i pacchetti successivi devono attendere fino a quando il pacchetto mancante viene ritrasmesso. Questo può ritardare l'intera connessione anche quando la maggior parte dei dati è arrivata con successo. QUIC risolve questo problema consentendo più flussi indipendenti all'interno di una connessione. Se un pacchetto appartenente a un flusso viene perso, solo quel flusso è interessato mentre gli altri flussi possono continuare a consegnare dati.
Configurazione della connessione lenta. HTTP/3 migliora anche la latenza nella configurazione della connessione. HTTP tradizionale richiede più passaggi di handshake prima che i dati dell'applicazione possano essere trasmessi. QUIC riduce il numero di viaggi di andata e ritorno necessari per stabilire una connessione sicura, il che può ridurre significativamente la latenza, soprattutto per gli utenti che si connettono su lunghe distanze.
Prestazioni della rete mobile. HTTP/3 è più adatto alle moderne reti mobili, dove le condizioni di connettività cambiano frequentemente e la perdita di pacchetti è più comune.
Cos'è QUIC e perché HTTP/3 lo utilizza?
HTTP/3 utilizza QUIC perché offre migliori prestazioni e resilienza rispetto a TCP. QUIC (Quick UDP Internet Connections) è un protocollo di trasporto originariamente sviluppato da Google e successivamente standardizzato dall'IETF.
QUIC (Quick UDP Internet Connections) è un protocollo di trasporto originariamente sviluppato da Google e successivamente standardizzato dall'Internet Engineering Task Force (IETF). È stato progettato per affrontare alcune delle limitazioni di TCP mantenendo forti garanzie di sicurezza e affidabilità.
QUIC opera su UDP, il che gli consente di implementare funzionalità avanzate a livello di protocollo piuttosto che fare affidamento sullo stack TCP del sistema operativo. Questa flessibilità consente innovazioni più rapide e miglioramenti delle prestazioni.
Quali sono i principali benefici di QUIC?
Connessione più rapida – Le connessioni possono essere stabilite con meno round trip, a volte consentendo persino l'invio immediato dei dati con la ripresa 0-RTT.
Crittografia integrata – QUIC integra direttamente TLS 1.3 nel protocollo.
Multiplexing dei flussi senza blocchi – I dati sono divisi in flussi indipendenti.
Migliori prestazioni su reti inaffidabili – La perdita di pacchetti influisce solo sui flussi interessati piuttosto che sull'intera connessione.
Architettura di HTTP/3
HTTP/3 utilizza una nuova architettura che esegue HTTP sopra QUIC, un protocollo di trasporto costruito su UDP invece che su TCP. In questo modello, QUIC gestisce la gestione delle connessioni, il multiplexing, il controllo della congestione e la crittografia, combinando funzioni che erano precedentemente suddivise su più livelli.
Ogni richiesta e risposta HTTP viene trasportata su un flusso QUIC indipendente all'interno di una singola connessione. Poiché questi flussi operano in modo indipendente, la perdita di pacchetti in un flusso non blocca gli altri.
HTTP/3 integra anche TLS 1.3 direttamente in QUIC, rendendo obbligatoria la crittografia e consentendo una configurazione della connessione più veloce ed efficiente. Questa architettura migliora le prestazioni, l'affidabilità e la resilienza sulle reti moderne.
Quali sono i principali benefici e caratteristiche di HTTP/3?
HTTP/3 offre una migliore sicurezza
La sicurezza è integrata direttamente in HTTP/3. Tutte le connessioni HTTP/3 sono crittografate di default, utilizzando TLS 1.3 integrato direttamente nel protocollo QUIC. A differenza delle versioni precedenti di HTTP, dove la crittografia è opzionale, HTTP/3 non supporta connessioni non crittografate.
Questo approccio integrato semplifica anche il processo di stabilire una connessione, poiché l'handshake di crittografia e la configurazione del trasporto avvengono insieme. Di conseguenza, HTTP/3 può spesso stabilire connessioni sicure più velocemente rispetto all'HTTPS tradizionale su TCP.
HTTP/3 rende i siti web più veloci
HTTP/3 può migliorare le prestazioni dei siti web, anche se l'impatto esatto dipende da diversi fattori come le condizioni di rete, la configurazione del server e il design dell'applicazione.
In molti scenari reali, HTTP/3 può ridurre la latenza e i tempi di caricamento delle pagine, in particolare quando le condizioni di rete non sono ideali. Poiché QUIC gestisce la perdita di pacchetti in modo più efficiente e stabilisce connessioni più rapidamente, gli utenti possono sperimentare una distribuzione dei contenuti più veloce e prestazioni più costanti.
HTTP/3 è particolarmente vantaggioso in ambienti dove:
La connettività mobile è comune
Sono coinvolte reti ad alta latenza
La perdita di pacchetti si verifica frequentemente
Vengono caricati più risorse contemporaneamente
Tieni presente che i siti web già altamente ottimizzati potrebbero vedere miglioramenti minori rispetto a quelli che operano in condizioni di rete più difficili.
In che modo HTTP/3 è diverso da HTTP/1.1 e HTTP/2?
La principale differenza tra HTTP/2 e HTTP/3 è il protocollo di trasporto sottostante. Il grafico seguente descrive le principali differenze tra HTTP/3 e HTTP/2.
Versione | Protocollo di trasporto | Miglioramenti chiave |
HTTP/1.1 | TCP | Modello di richiesta/risposta Basic |
HTTP/2 | TCP | Multiplexing, compressione delle intestazioni |
HTTP/3 | QUIC (su UDP) | Connessioni più veloci, latenza ridotta, maggiore affidabilità |
Sia HTTP/1.1 che HTTP/2 si basano su TCP, che era precedentemente il protocollo di trasporto tradizionale per il traffico di rete. Mentre HTTP/2 ha introdotto importanti miglioramenti come il multiplexing di più richieste su una singola connessione, aveva ancora alcune limitazioni derivanti da TCP.
HTTP/3 sostituisce TCP con QUIC, un protocollo di trasporto moderno progettato per migliorare le prestazioni. Poiché QUIC gestisce molte funzionalità come la crittografia, il controllo della congestione e la gestione delle connessioni direttamente a livello di trasporto, HTTP/3 può ridurre i ritardi e recuperare più efficacemente dalle interruzioni di rete.
I browser supportano HTTP/3?
Sì. La maggior parte dei browser moderni ora supporta HTTP/3 e può utilizzarlo automaticamente quando è disponibile.
I principali browser che supportano HTTP/3 includono:
Google Chrome
Microsoft Edge
Mozilla Firefox
Apple Safari
I browser utilizzano un meccanismo chiamato negoziazione del protocollo per determinare il miglior protocollo supportato tra il client e il server. Se HTTP/3 è disponibile, il browser lo utilizzerà automaticamente. In caso contrario, passerà a HTTP/2 o HTTP/1.1, tutto senza che la persona che naviga sia consapevole di questa attività che avviene dietro il browser.
Grazie a questa negoziazione automatica, gli utenti generalmente non devono configurare nulla manualmente per beneficiare di HTTP/3.
I siti web devono cambiare qualcosa per utilizzare HTTP/3?
Sì. Per supportare HTTP/3, i server web o i provider di infrastrutture devono abilitare il supporto per QUIC e HTTP/3.
Questo richiede tipicamente:
Un server web, un proxy o una Rete di distribuzione dei contenuti che supporta HTTP/3
QUIC abilitato a livello di trasporto
Configurazione TLS compatibile con TLS 1.3
Molti server web moderni, proxy inversi e reti di distribuzione dei contenuti ora supportano HTTP/3. In molti casi, abilitare HTTP/3 è principalmente un cambiamento di configurazione piuttosto che un aggiornamento architettonico importante.
In che modo Fastly può aiutare?
La CDN di Fastly supporta HTTP/3 e QUIC ai bordi della rete, consentendo ai browser compatibili di connettersi utilizzando un trasporto più veloce ed efficiente rispetto ai protocolli tradizionali basati su TCP. Abilitando HTTP/3, Fastly aiuta a ridurre il tempo di configurazione delle connessioni, migliorare le prestazioni su reti inaffidabili e consegnare i contenuti più rapidamente agli utenti finali.
Supportando l'HTTP/3 attraverso la sua edge network globale, Fastly consente ai clienti di consegnare caricamenti di pagina a bassa latenza, prestazioni di streaming migliorate e una sicurezza più forte grazie alla crittografia TLS 1.3 integrata utilizzata da QUIC. Questi miglioramenti aiutano le organizzazioni a fornire esperienze digitali più veloci e resilienti agli utenti di tutto il mondo, mantenendo la compatibilità con l'infrastruttura HTTP esistente.