HTTP/3 è la terza versione del protocollo Hypertext Transfer Protocol usato per il World Wide Web nonché il successore di HTTP/2. HTTP/3 è basato su una precedente bozza di RFC intitolata Hypertext Transfer Protocol (HTTP) over QUIC. QUIC è un protocollo di rete di livello di trasporto sviluppato originariamente da Google in cui il controllo della congestione nello spazio utente viene realizzato su protocollo User Datagram Protocol (UDP) e proprio l'appoggiarsi su QUIC/UDP invece che su TCP rappresenta la caratteristica distintiva di HTTP/3.
Storia
Il 28 ottobre 2018 Mark Nottingham, responsabile dei gruppi di lavoro IETF HTTP e QUIC, nel contesto di una discussione in mailing list ha avanzato la richiesta ufficiale di rinominare HTTP-over-QUIC in HTTP/3, per "identificarlo chiaramente come un ulteriore legame tra la semantica dell'HTTP e il protocollo fisico... così che si capisca che è qualcosa di separato da QUIC" e di trasferire il suo sviluppo dal QUIC Working Group all'HTTP Working Group dopo il consolidamento e la pubblicazione della bozza. La sua proposta venne accettata dagli altri membri IETF dopo pochi giorni, a novembre 2018.
Il browser Chrome ha integrato il supporto di HTTP/3 nella "Canary build" di settembre 2019 e sebbene HTTP/3 non sia ancora usato di default in alcun browser, dal 2020 può essere abilitato nelle versioni stabili di Chrome e di Firefox. In via sperimentale, il supporto di HTTP/3 è stato reso disponibile anche su Safari Technology Preview l'8 aprile 2020.
Il 6 giugno 2022, IETF ha standardizzato HTTP/3 come RFC 9114.
Implementazioni Browser +BrowserVersioneDataChrome79 (stabile)dicembre 2019Mozilla Firefox72.0.1 (stabile)gennaio 2020SafariSafari Technology Preview 104aprile 2020EdgeEdge (Canary build)2020
Librerie Sono disponibili le seguenti librerie open source che implementano le logiche di client o di server per QUIC e HTTP/3: +NomeLinguaggio di programmazioneAziendaRepositoryquicheRustCloudflarehttps://github.com/cloudflare/quicheneqoRustMozillahttps://github.com/mozilla/neqoproxygenC++Facebookhttps://github.com/facebook/proxygen#quic-and-http3CronetC++Googlehttps://github.com/chromium/chromium/tree/master/net/quiclsquicCLiteSpeedhttps://github.com/litespeedtech/lsquicnghttp3Chttps://github.com/ngtcp2/nghttp3h2oChttps://github.com/h2o/h2olibcurlChttps://github.com/curl/curlMsQuicCMicrosofthttps://github.com/microsoft/msquicFlupkeJavahttps://bitbucket.org/pjtr/flupkeaioquicPythonhttps://github.com/aiortc/aioquicquic-goGohttps://github.com/lucas-clemente/quic-goquicHaskellhttps://github.com/kazu-yamamoto/quic
La libreria quiche di Cloudflare può essere usata anche come patch di nginx, che supporta HTTP/3 dalla versione 1.25.
Sono inoltre disponibili alcune librerie che implementano una versione precedente della bozza del protocollo o della versione Google di QUIC (Q046 usato in Chrome 76), come per esempio nghttp3.
Note
Voci correlate HTTP HTTP/2 QUIC
Altri progetti
Collegamenti esterni
Categoria:Hypertext Transfer Protocol