HTTP/3 e QUIC: come funziona il trasporto web moderno
HTTP/3 è una versione di HTTP che al posto della consueta combinazione di HTTP/2, TLS e TCP usa QUIC. QUIC funziona su UDP, ma aggiunge flussi affidabili, controllo della congestione e un'apertura della connessione protetta. Il solo supporto di HTTP/3 non rende veloce ogni pagina.
Cosa cambia rispetto a HTTP/2
Metodi come GET e codici di risposta mantengono il significato abituale: a cambiare è il modo in cui i messaggi vengono trasportati. HTTP/2 multiplexa più flussi su un'unica connessione TCP, e un segmento TCP mancante può ritardare, a livello di trasporto, anche i dati degli altri flussi. QUIC gestisce da sé i flussi, quindi una perdita in un flusso non blocca allo stesso modo gli altri sulla stessa connessione. Sulle reti con perdite questo può aiutare, ma non elimina la distanza fisica né la lentezza di un server.
QUIC integra nel proprio handshake una sicurezza basata su TLS 1.3. “Su UDP” non vuol dire che il contenuto della pagina viaggi in chiaro: HTTP/3 usa una connessione protetta. Alcune connessioni ripetute possono risparmiare parte del tempo di apertura, a seconda di ciò che client e server già conoscono. Il vantaggio dipende dall'implementazione e dalle condizioni di rete, non è un aumento di velocità fisso.
Porta 443 e ripiego
HTTP/3 usa di solito la porta UDP 443, mentre HTTPS con HTTP/2 usa di solito la porta TCP 443. Se un firewall blocca UDP, la connessione QUIC può non partire affatto e il client può ripiegare su un'altra versione di HTTP supportata su TCP. Bloccare UDP 443 non rende quindi per forza irraggiungibile un sito, anche se può cambiare le prestazioni o confondere la diagnosi. Un test della porta TCP 443 non dimostra il supporto di HTTP/3.
Gli strumenti per sviluppatori del browser mostrano il protocollo usato da ogni singola richiesta. Non basarti solo sull'elenco delle funzioni del provider di hosting: CDN, proxy inversi e risorse incorporate nella pagina possono usare connessioni diverse. Per verificare il sito reale, invia una richiesta con un client che supporti HTTP/3 e guarda che cosa è stato negoziato. Un riscontro esterno può dartelo lo strumento Informazioni sul sito web di 2IP.
Dove può fare la differenza
HTTP/3 può essere utile quando si perdono pacchetti o quando un dispositivo mobile cambia percorso di rete, a patto che le implementazioni supportino i meccanismi necessari. Non sistemerà però immagini troppo pesanti, script superflui o codice applicativo lento. Misura il caricamento delle pagine e l'esperienza degli utenti, non solo il nome del protocollo. I dettagli sono definiti nelle specifiche di HTTP/3 e QUIC. La guida a TCP e UDP spiega le scelte di trasporto sottostanti.