HTTP/3: gira su QUIC (non è l’Upgrade di HTTP/1.1)
Data Pubblicazione: 03/10/2026 | | Infrastruttura

HTTP/3: gira su QUIC (non è l’Upgrade di HTTP/1.1)

HTTP/3 gira su QUIC, sopra UDP. Non è l’header Upgrade. Il server lo annuncia con Alt-Svc. Un pacchetto perso ferma uno stream, non tutta la connessione.

L’header Upgrade non accende HTTP/3. Quello è un meccanismo di HTTP/1.1, in pratica per WebSocket. HTTP/2 lo vieta. HTTP/3 gira su QUIC, sopra UDP, non sopra TCP. Il browser lo scopre da un’alternativa dichiarata dal server — di solito Alt-Svc — non da un plugin e non dal punteggio Lighthouse.

In breve: HTTP/3 succede HTTP/2. Trasporto QUIC/UDP. Handshake TLS dentro il primo handshake QUIC. Perdita di un pacchetto: un solo stream, non tutta la connessione. Alt-Svc: h3=… è un annuncio, non un upgrade. Verifica del 3 ottobre 2026 su MDN (HTTP/3 e QUIC, 20 ottobre 2025; Alt-Svc, 4 maggio 2026) e RFC 9114 / RFC 9000.

Cosa trovi in questo articolo

  1. HTTP/3 è QUIC su UDP (non è TCP, non è Upgrade)

  2. Come il browser lo scopre: Alt-Svc

  3. Cosa resta di HTTP/2 (e cosa è stato tolto)

  4. Errori da evitare

  5. In sintesi

HTTP/3 è QUIC su UDP (non è TCP, non è Upgrade)

MDN, voce HTTP/3, ultima modifica 20 ottobre 2025, rilettura 3 ottobre 2026: revisione maggiore del protocollo HTTP, dopo HTTP/2. La differenza che MDN mette in testa: usa QUIC sopra UDP invece di TCP. Meno latenza. Niente head-of-line blocking di HTTP-su-TCP.

La voce QUIC, stessa data: trasporto multiplexato su UDP, usato da HTTP/3 al posto di TCP. Due punti, in pagina. Primo: in TCP l’handshake TCP è seguito, di solito, da un handshake TLS, e i dati aspettano. QUIC mette il TLS nel primo handshake QUIC, meno messaggi. Secondo: HTTP/2 multiplexa più transazioni su una connessione TCP; un pacchetto perso e la ritrasmissione TCP bloccano tutte le transazioni. QUIC ritrasmette per stream: si ferma solo lo stream colpito. Specifiche in calce MDN: RFC 9000 (QUIC), RFC 9114 (HTTP/3).

La guida MDN Protocol upgrade mechanism descrive l’header Upgrade di HTTP/1.1. Meccanismo opzionale. In pratica, WebSocket. Nota in pagina: HTTP/2 «explicitly disallows the use of this mechanism; it is specific to HTTP/1.1». Non è il modo in cui si «passa a HTTP/3». Il cluster è Infrastruttura. Non è Server-Timing: quello è un header di risposta con i millisecondi del backend. Non è il certificato TLS: QUIC integra TLS, ma il certificato resta un altro mestiere.

Come il browser lo scopre: Alt-Svc

MDN, header Alt-Svc, ultima modifica 4 maggio 2026: il server indica che la stessa risorsa si può prendere da un altro servizio — altro host, altra porta, altro protocollo. Non è un redirect. Non è Upgrade. È un annuncio. Il client può ignorarlo.

Esempi in pagina MDN:

Esempio MDNCosa c’è
Alt-Svc: h2=":443"; ma=2592000alternativa HTTP/2 sulla 443, max-age 30 giorni
Alt-Svc: h2=":443"; ma=2592000; persist=1stesso, con persist
Alt-Svc: h2="alt.example.com:443", h2=":443"due alternative, la prima è preferita
Alt-Svc: h3-25=":443"; ma=3600, h2=":443"; ma=3600un token di draft HTTP/3 e HTTP/2, un’ora

MDN: più valori, separati da virgola; quelli a sinistra sono preferiti. ma è la durata in secondi della cache di quell’alternativa. Senza persist=1, in pagina, le alternative di solito si cancellano al cambio di rete. Il token a sinistra è un identificativo ALPN. L’esempio usa h3-25, un identificativo di draft. HTTP/3 registrato, RFC 9114, usa h3. Si legge in Network, sulla risposta, il token che il server ha davvero mandato. Non si copia h3-25 in produzione perché sta in un esempio.

Specifica citata da MDN: HTTP Alternative Services (RFC 7838). Non è un CDN. Non è un WAF. È l’header con cui un’origine dice «la prossima volta prova QUIC su questa porta». Se il server non lo manda, e non c’è un altro segnale (per esempio un record HTTPS in DNS), il browser resta su TCP. Si verifica sulla risposta, non sul pannello del plugin cache.

Cosa resta di HTTP/2 (e cosa è stato tolto)

MDN, voce HTTP/2, 20 ottobre 2025: multiplexing, priorità, HPACK. La semantica HTTP (metodi, status, URI, header) non cambia; cambia il framing. Server Push, in pagina, «has been removed from most major browser engines». Sostituito da rel="preload" e da 103 Early Hints. Chi «abilita HTTP/2 Push» su un reverse proxy sta accendendo una cosa che i browser, in scheda MDN, hanno spento.

HTTP/3 non è più veloce «perché è tre». È un altro trasporto. Se il collo di bottiglia è il database, il database è lento anche su QUIC. Se manca la cache, si legge Cache-Control, non l’ALPN. DNS e anycast restano su DNS, hosting, CDN.

Errori da evitare

  • Mandare Upgrade: h3 e credere di aver acceso HTTP/3. MDN: Upgrade è HTTP/1.1, e HTTP/2 lo vieta.

  • Confondere h3-25 dell’esempio MDN con h3 di RFC 9114.

  • Trattare Alt-Svc come un redirect 301: il client può ignorarlo.

  • Misurare HTTP/3 con Lighthouse e chiamare quel numero «il protocollo».

  • Riaccendere HTTP/2 Server Push: MDN, rimosso dai motori principali.

  • Attribuire a HTTP/3 la scomparsa di un head-of-line blocking applicativo (un mutex sul backend non è UDP).

In sintesi

HTTP/3 è HTTP su QUIC, su UDP. Non è l’Upgrade di HTTP/1.1. Il server lo annuncia, di solito, con Alt-Svc. Il token si legge in Network. RFC 9114 e RFC 9000. Si rilegge MDN il giorno in cui si configura il reverse proxy. Verifica del 3 ottobre 2026.

Domande frequenti

MDN, 20 ottobre 2025, rilettura 3 ottobre 2026: revisione maggiore di HTTP dopo HTTP/2. Usa QUIC sopra UDP invece di TCP. Meno latenza, niente head-of-line blocking di HTTP-su-TCP. Specifica: RFC 9114. QUIC: RFC 9000.
No. MDN, Protocol upgrade mechanism: Upgrade è HTTP/1.1, in pratica WebSocket. HTTP/2 lo vieta esplicitamente. HTTP/3 non si «upgrada» da una connessione TCP con quell’header.
Di solito con Alt-Svc, header di risposta che annuncia un servizio alternativo (altro protocollo, host o porta). MDN, 4 maggio 2026: il client può ignorarlo. Esempi in pagina: h2=":443"; ma=2592000 e h3-25=":443". Il token registrato di HTTP/3 è h3 (RFC 9114), non il draft h3-25 dell’esempio. Si legge in Network.

Potrebbe interessarti anche...