Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
HTTP/3
Version of the HTTP network protocol

The development of the Internet began with early research like the RAND networking concepts (1960–1964) and the planning of ARPANET in 1967, which carried its first packets in 1969. Key milestones include the formalization of the TCP/IP protocol suite in 1982, the introduction of the Domain Name System in 1983, and the establishment of IANA in 1972. The commercialization phase in the 1990s saw growth with services like AOL and the launch of the World Wide Web in 1991. HTTP/3, the latest major version of the HTTP protocol, leverages QUIC over UDP to reduce latency and improve loading speeds, now supported by most major browsers including Chromium-based ones and Firefox.

We don't have any images related to HTTP/3 yet.
We don't have any YouTube videos related to HTTP/3 yet.
We don't have any PDF documents related to HTTP/3 yet.
We don't have any Books related to HTTP/3 yet.

History

HTTP/3 originates from an Internet Draft adopted by the QUIC working group. The original proposal was named "HTTP/2 Semantics Using The QUIC Transport Protocol",12 and later renamed "Hypertext Transfer Protocol (HTTP) over QUIC".13

On 28 October 2018 in a mailing list discussion, Mark Nottingham, Chair of the IETF HTTP and QUIC Working Groups, proposed renaming HTTP-over-QUIC to HTTP/3, to "clearly identify it as another binding of HTTP semantics to the wire protocol [...] so people understand its separation from QUIC".14 Nottingham's proposal was accepted by fellow IETF members a few days later. The HTTP working group was chartered to assist the QUIC working group during the design of HTTP/3, then assume responsibility for maintenance after publication.15

Support for HTTP/3 was added to Chrome (Canary build) in September 2019 and then eventually reached stable builds, but was disabled by a feature flag. It was enabled by default in April 2020.16 Firefox added support for HTTP/3 in November 2019 through a feature flag171819 and started enabling it by default in April 2021 in Firefox 88.2021 Experimental support for HTTP/3 was added to Safari Technology Preview on April 8, 202022 and was included with Safari 14 that ships with iOS 14 and macOS 11,2324 but it's still disabled by default as of Safari 16, on both macOS and iOS.

On 6 June 2022, IETF published HTTP/3 as a Proposed Standard in RFC 9114.25

Comparison with HTTP/1.1 and HTTP/2

HTTP semantics are consistent across versions: the same request methods, status codes, and message fields are typically applicable to all versions. The differences are in the mapping of these semantics to underlying transports. Both HTTP/1.1 and HTTP/2 use TCP as their transport. HTTP/3 uses QUIC, a transport layer network protocol which uses user space congestion control over the User Datagram Protocol (UDP). The switch to QUIC aims to fix a major problem of HTTP/2 called "head-of-line blocking": because the parallel nature of HTTP/2's multiplexing is not visible to TCP's loss recovery mechanisms, a lost or reordered packet causes all active transactions to experience a stall regardless of whether that transaction was impacted by the lost packet. Because QUIC provides native multiplexing, lost packets only impact the streams where data has been lost.

Proposed DNS resource records SVCB (service binding) and HTTPS would allow connecting without first receiving the Alt-Svc header via previous HTTP versions, therefore removing the 1 RTT of handshaking of TCP.2627 There is client support for HTTPS resource records since Firefox 92, iOS 14, reported Safari 14 support, and Chromium supports it behind a flag.282930

Implementations

Client

Browser support for HTTP/3
BrowserVersion implemented (disabled by default)Version shipped (enabled by default)Comment
ChromeStable build (79)December 20198731April 202032Earlier versions implemented other drafts of QUIC
EdgeStable build (79)December 201987April 2020Edge 79 was the first version based on Chromium
FirefoxStable build (72.0.1)January 20208833April 202134
SafariStable build (14.0)September 202016.4March 2023Apple is testing HTTP/3 support on some Safari users starting with Safari 16.4.35

Libraries

Open-source libraries that implement client or server logic for QUIC and HTTP/3 include36

Libraries implementing HTTP/3
NameClientServerProgramming languageCompanyRepository
lsquicYesYesCLiteSpeedhttps://github.com/litespeedtech/lsquic
nghttp3YesYesChttps://github.com/ngtcp2/nghttp3
h2oNoYesChttps://github.com/h2o/h2o
libcurl3738YesNoChttps://github.com/curl/curl
MsQuic39YesYesCMicrosofthttps://github.com/microsoft/msquic
proxygenYesYesC++Facebookhttps://github.com/facebook/proxygen#quic-and-http3
CronetYesYesC++Googlehttps://github.com/chromium/chromium/tree/main/net/quic
.NET40YesYesC# (using MsQuic)41Microsofthttps://github.com/dotnet
quic-goYesYesGohttps://github.com/quic-go/quic-go
http3YesYesHaskellhttps://github.com/kazu-yamamoto/http3
KwikYesYesJavahttps://github.com/ptrd/kwik
FlupkeYesYesJavahttps://bitbucket.org/pjtr/flupke
aioquicYesYesPythonhttps://github.com/aiortc/aioquic
quicheYesYesRustCloudflarehttps://github.com/cloudflare/quiche
neqoYesYesRustMozillahttps://github.com/mozilla/neqo
quinnYesYesRusthttps://github.com/quinn-rs/quinn
s2n-quicYesYesRustAmazon Web Serviceshttps://github.com/aws/s2n-quic

Server

  • On 7 June 2021, LiteSpeed Web Server (and OpenLiteSpeed) 6.0.2 was released and became the first version to enable HTTP/3 by default.42
  • Caddy web server v2.6.0 (released 20 September 2022) has HTTP/3 enabled by default.43
  • Nginx supports HTTP/3 since 1.25.0 (released 23 May 2023). A technology preview of nginx with HTTP/3 support was released in June 2020.44 Binary packages of nginx with HTTP/3 support have been released in February 2023.45
  • Cloudflare distributes a patch for nginx that integrates the quiche HTTP/3 library into it.46
  • Microsoft IIS support for HTTP/3 is enabled natively with Windows Server 2022/Windows 11.47
  • HAProxy supports HTTP/3 over QUIC since version 2.6 released on 31 May 2022.4849
  • Nimble Streamer supports HTTP/3 since 4.1.8-150 for HTTP-based protocols.

See also

  • Internet portal

References

  1. V. Cerf; Y. Dalal; C. Sunshine (December 1974). SPECIFICATION OF INTERNET TRANSMISSION CONTROL PROGRAM. Network Working Group. doi:10.17487/RFC0675. RFC 675. Obsolete. Obsoleted by RFC 7805. NIC 2. INWG 72. /wiki/Vinton_Cerf

  2. J. Iyengar; M. Thomson, eds. (May 2021). QUIC: A UDP-Based Multiplexed and Secure Transport. Internet Engineering Task Force. doi:10.17487/RFC9000. ISSN 2070-1721. RFC 9000. Proposed Standard. https://datatracker.ietf.org/doc/html/rfc9000

  3. "What is HTTP/3?". Cloudflare. Archived from the original on 4 July 2022. Retrieved 12 July 2022. https://www.cloudflare.com/learning/performance/what-is-http3/

  4. Perna, Gianluca; Trevisan, Martino; Giordano, Danilo; Drago, Idilio (1 April 2022). "A first look at HTTP/3 adoption and performance". Computer Communications. 187: 115–124. doi:10.1016/j.comcom.2022.02.005. hdl:11368/3025202. ISSN 0140-3664. S2CID 246936473. https://www.sciencedirect.com/science/article/pii/S0140366422000421

  5. "HTTP/3 is Fast". Request Metrics. Retrieved 1 July 2022. https://requestmetrics.com/web-performance/http3-is-fast

  6. ""HTTP/3" | Can I use... Support tables for HTML5, CSS3, etc". canIuse.com. Retrieved 11 August 2024. https://caniuse.com/http3

  7. "Usage of HTTP/3 for websites". World Wide Web Technology Surveys. W3Techs. Retrieved 11 August 2024. https://w3techs.com/technologies/details/ce-http3

  8. "Enabling QUIC in tip-of-tree". groups.google.com. Retrieved 8 April 2021. https://groups.google.com/a/chromium.org/g/net-dev/c/5M9Z5mtvg_Y/m/iw9co1VrBQAJ

  9. ""HTTP/3" | Can I use... Support tables for HTML5, CSS3, etc". canIuse.com. Retrieved 11 August 2024. https://caniuse.com/http3

  10. Damjanovic, Dragana (16 April 2021). "QUIC and HTTP/3 Support now in Firefox Nightly and Beta". Mozilla Hacks – the Web developer blog. Retrieved 17 April 2021. https://hacks.mozilla.org/2021/04/quic-and-http-3-support-now-in-firefox-nightly-and-beta

  11. "Safari 14 Release Notes". developer.apple.com. Retrieved 4 December 2020. https://developer.apple.com/documentation/safari-release-notes/safari-14-release-notes

  12. Shade, Robbie (8 July 2016). HTTP/2 Semantics Using The QUIC Transport Protocol. IETF. I-D draft-shade-quic-http2-mapping. https://datatracker.ietf.org/doc/html/draft-shade-quic-http2-mapping

  13. Cimpanu, Catalin (12 November 2018). "HTTP-over-QUIC to be renamed HTTP/3". ZDNet. Retrieved 12 November 2018. https://www.zdnet.com/article/http-over-quic-to-be-renamed-http3/

  14. Nottingham, Mark (28 October 2018). "Identifying our deliverables". IETF Mail Archive. https://mailarchive.ietf.org/arch/msg/quic/RLRs4nB1lwFCZ_7k0iuz0ZBa35s

  15. "Hypertext Transfer Protocol Charter". ietf.org. Retrieved 2 September 2020. https://datatracker.ietf.org/doc/charter-ietf-httpbis/08/

  16. "Enabling QUIC in tip-of-tree". groups.google.com. Retrieved 8 April 2021. https://groups.google.com/a/chromium.org/g/net-dev/c/5M9Z5mtvg_Y/m/iw9co1VrBQAJ

  17. ""HTTP/3" | Can I use... Support tables for HTML5, CSS3, etc". canIuse.com. Retrieved 11 August 2024. https://caniuse.com/http3

  18. Daniel, Stenberg. "Daniel Stenberg announces HTTP/3 support in Firefox Nightly". Twitter. Retrieved 5 November 2019. https://twitter.com/bagder/status/1191482712739196928

  19. Cimpanu, Catalin (26 September 2019). "Cloudflare, Google Chrome, and Firefox add HTTP/3 support". ZDNet. Retrieved 27 September 2019. https://www.zdnet.com/article/cloudflare-google-chrome-and-firefox-add-http3-support/

  20. ""HTTP/3" | Can I use... Support tables for HTML5, CSS3, etc". canIuse.com. Retrieved 11 August 2024. https://caniuse.com/http3

  21. Damjanovic, Dragana (16 April 2021). "QUIC and HTTP/3 Support now in Firefox Nightly and Beta". Mozilla Hacks – the Web developer blog. Retrieved 17 April 2021. https://hacks.mozilla.org/2021/04/quic-and-http-3-support-now-in-firefox-nightly-and-beta

  22. "Release Notes for Safari Technology Preview 104". webkit.org. 8 April 2020. Retrieved 7 August 2020. https://webkit.org/blog/10264/release-notes-for-safari-technology-preview-104/

  23. "Safari 14 Release Notes". developer.apple.com. Retrieved 4 December 2020. https://developer.apple.com/documentation/safari-release-notes/safari-14-release-notes

  24. Ng, Gary (23 June 2020). "Apple's Safari Adds Support for HTTP3 in iOS 14 and macOS 11". iphoneincanada.ca. Retrieved 25 June 2021. https://www.iphoneincanada.ca/news/apple-safari-http3-ios-14/

  25. M. Bishop, ed. (June 2022). HTTP/3. Internet Engineering Task Force. doi:10.17487/RFC9114. ISSN 2070-1721. RFC 9114. Proposed Standard. https://datatracker.ietf.org/doc/html/rfc9114

  26. "HTTPS RR". MDN. Mozilla. Retrieved 25 October 2022. https://developer.mozilla.org/en-US/docs/Glossary/https_rr

  27. Schwartz, Benjamin M.; Bishop, Mike; Nygren, Erik (12 June 2020). Service binding and parameter specification via the DNS. IETF. I-D draft-ietf-dnsop-svcb-https. https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https

  28. "Firefox 92 for developers". Mozilla Corporation. 7 September 2021. Retrieved 25 October 2022. https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/92

  29. "Feature: HTTP->HTTPS redirect for HTTPS DNS records". Google Inc. Retrieved 25 October 2022. https://chromestatus.com/feature/5485544526053376

  30. Patrick Mevzek (24 August 2021). "What's the use case of SVCB (type 65, service binding) RR". Stack Exchange Inc. Retrieved 25 October 2022. https://serverfault.com/questions/1075522/whats-the-use-case-of-svcb-type-65-service-binding-rr

  31. ""HTTP/3" | Can I use... Support tables for HTML5, CSS3, etc". canIuse.com. Retrieved 11 August 2024. https://caniuse.com/http3

  32. "Enabling QUIC in tip-of-tree". groups.google.com. Retrieved 9 April 2021. https://groups.google.com/a/chromium.org/g/net-dev/c/5M9Z5mtvg_Y/m/iw9co1VrBQAJ

  33. Damjanovic, Dragana (16 April 2021). "QUIC and HTTP/3 Support now in Firefox Nightly and Beta". Mozilla Hacks – the Web developer blog. Retrieved 17 April 2021. https://hacks.mozilla.org/2021/04/quic-and-http-3-support-now-in-firefox-nightly-and-beta

  34. "Firefox Release Owners - MozillaWiki". wiki.mozilla.org. Retrieved 9 April 2021. https://wiki.mozilla.org/Release_Management/Release_owners

  35. Jen Simmons (4 April 2023). "HTTP/3 support shipped in Safari 14.0". GitHub. Retrieved 7 April 2023. https://github.com/Fyrd/caniuse/pull/6664#issuecomment-1496439786

  36. "QUIC Implementations". GitHub. Retrieved 8 April 2021. https://github.com/quicwg/base-drafts/wiki/Implementations

  37. "First HTTP/3 with curl". Daniel Stenberg. 5 August 2019. Retrieved 2 October 2019. https://daniel.haxx.se/blog/2019/08/05/first-http-3-with-curl/

  38. "HTTP3 (and QUIC)". Daniel Stenberg. 23 August 2023. Retrieved 27 August 2023. https://github.com/curl/curl/blob/master/docs/HTTP3.md

  39. "MsQuic is Open Source". 28 April 2020. Retrieved 28 April 2020. https://techcommunity.microsoft.com/t5/networking-blog/msquic-is-open-source/ba-p/1345441

  40. "HTTP/3 support in .NET 6". 17 September 2021. Retrieved 17 September 2021. https://devblogs.microsoft.com/dotnet/http-3-support-in-dotnet-6/

  41. "HTTP/3 support in .NET 6". .NET Blog. 17 September 2021. Retrieved 12 January 2022. https://devblogs.microsoft.com/dotnet/http-3-support-in-dotnet-6/

  42. "LiteSpeed Web Server Release Log - LiteSpeed Technologies". www.litespeedtech.com. Retrieved 12 February 2022. Enable HTTP/3 v1 by default. https://www.litespeedtech.com/products/litespeed-web-server/release-log

  43. "Release 2.6.0 · caddyserver/caddy". Github. 22 September 2022. Retrieved 20 September 2022. https://github.com/caddyserver/caddy/releases/tag/v2.6.0

  44. "Introducing a Technology Preview of NGINX Support for QUIC and HTTP/3". NGINX. 10 June 2020. Retrieved 11 June 2020. https://www.nginx.com/blog/introducing-technology-preview-nginx-support-for-quic-http-3/

  45. "Binary Packages Now Available for the Preview NGINX QUIC+HTTP/3 Implementation". NGINX. 8 February 2023. Retrieved 30 March 2023. https://www.nginx.com/blog/binary-packages-for-preview-nginx-quic-http3-implementation/

  46. "Experiment with HTTP/3 using NGINX and quiche". The Cloudflare Blog. 17 October 2019. Retrieved 9 November 2019. https://blog.cloudflare.com/experiment-with-http-3-using-nginx-and-quiche/

  47. Tratcher. "Use ASP.NET Core with HTTP/3 on IIS". docs.microsoft.com. Retrieved 29 April 2022. https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/http3

  48. "Announcing HAProxy 2.6". HAProxy Blog. 31 May 2022. https://www.haproxy.com/blog/announcing-haproxy-2-6/#http-3-over-quic

  49. "QUIC Implementation in HAProxy". HAProxyConf video presentation. 25 January 2023. https://www.youtube.com/watch?v=e2aQBva_HH0

  50. "HTTP/3 and QUIC support in Nimble Streamer". NGINX. 14 February 2025. Retrieved 17 February 2025. https://softvelum.com/2025/02/http3-quic-support-nimble-streamer/