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.

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.
| Browser | Versione | Data |
|---|---|---|
| Chrome | 79 (stabile) | dicembre 2019 |
| Mozilla Firefox | 72.0.1 (stabile) | gennaio 2020 |
| Safari | Safari Technology Preview 104 | aprile 2020 |
| Edge | Edge (Canary build) | 2020 |
Sono disponibili le seguenti librerie open source che implementano le logiche di client o di server per QUIC e HTTP/3:
| Nome | Linguaggio di programmazione | Azienda | Repository |
|---|---|---|---|
| quiche | Rust | Cloudflare | https://github.com/cloudflare/quiche |
| neqo | Rust | Mozilla | https://github.com/mozilla/neqo |
| proxygen | C++ | https://github.com/facebook/proxygen#quic-and-http3 | |
| Cronet | C++ | https://github.com/chromium/chromium/tree/master/net/quic | |
| lsquic | C | LiteSpeed | https://github.com/litespeedtech/lsquic |
| nghttp3 | C | https://github.com/ngtcp2/nghttp3 | |
| h2o | C | https://github.com/h2o/h2o | |
| libcurl | C | https://github.com/curl/curl | |
| MsQuic | C | Microsoft | https://github.com/microsoft/msquic |
| Flupke | Java | https://bitbucket.org/pjtr/flupke | |
| aioquic | Python | https://github.com/aiortc/aioquic | |
| quic-go | Go | https://github.com/lucas-clemente/quic-go | |
| quic | Haskell | https://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.