QUIC e HTTP/3: l’evoluzione del protocollo HTTP.

quic

Correva l’anno 2013, quando Google annunciò di aver iniziato a lavorare ad una nuova soluzione che potesse velocizzare ancora di più la navigazione web, ed il nome scelto per questo nuovo protocollo era proprio QUIC, che per Google corrispondeva all’acronimo Quick UDP Internet Connection.

Nella mente dei programmatori c’era un protocollo che garantisse maggiore sicurezza, navigazione rapida e minori problematiche di latenza, cosa che implicava il superamento del protocollo TCP.

Quindi, nel 2013 Google ha reso pubblico il progetto e ha iniziato a svilupparlo ed a testarlo anche su larga scala. Dopo meno di due anni, nel 2015, Google ha fornito la prima bozza del QUIC all’organismo internazionale IETF (Internet Engineering Task Force) per avviare il processo di standardizzazione. Da quel momento in poi, la versione QUIC-IETF ha seguito un proprio sviluppo ed evoluzione, completamente indipendente dalla versione di Google. Nel frattempo, la versione QUIC di Google è stata sperimentata ampiamente sia da Google stesso che da Facebook.

Successivamente, IETF ha deciso che il nuovo protocollo si sarebbe basato su UDP e su TLS 1.3, dividendone lo sviluppo in QUIC (trasporto) e HTTP-over-QUIC.

QUIC (IETF), quindi, è il protocollo di trasporto per la nuova versione di HTTP, cioè HTTP/3.

Quali differenze?

Una differenza importante tra HTTP/3 e HTTP/2 è la velocità. Se già HTTP/2 aveva velocizzato e snellito il processo di scaricamento delle pagine, HTTP/3, grazie a QUIC, può aumentare ancora di più la velocità, visto che QUIC permette un dialogo istantaneo (0-RTT => 0 Round Trip Time) con un server col quale aveva già dialogato precedentemente (e 1-RTT altrimenti), a differenza delle connessioni che utilizzano TCP o TCP+TLS, protocolli che necessitano di più percorsi di andata e ritorno prima che si possano visualizzare i contenuti di un sito web.

0rtt-graphic

Nell’immagine (fornita da Google) si vede come, utilizzando il protocollo QUIC, il tempo necessario a stabilire la connessione con una pagina mai visitata sia un terzo di quello che si impiega con una connessione che utilizza i protocolli TCP + TLS.

Nell’ottobre 2018, Mark Nottingham (presidente del gruppo di lavoro IETF riguardante QUIC e HTTP) ha chiesto ufficialmente il cambiamento del nome del protocollo HTTP-over-QUIC (ovvero il nome che è stato dato al protocollo HTTP scambiando il TCP con QUIC) in HTTP/3, proposta che successivamente è stata anche approvata dagli altri membri dell’IETF.

grafico w3

Sul sito W3Techs sono disponibili alcuni dati aggiornati ad agosto 2019 sull’utilizzo di QUIC per i siti web. Come si può facilmente osservare, la percentuale è ancora molto bassa (oltrepassa di poco il 3%), ma è anche vero che la strada per la standardizzazione risulta ancora lunga.

Fra quanto?

Nel luglio del 2019, IETF ha rilasciato le specifiche della prima versione di QUIC. Per l’implementazione generale ed il seguente passaggio a HTTP/3 dovremo ancora attendere un po’ di tempo.

Fonte: 1, 2, 3