HTTP/3 is the third major version of the
Hypertext Transfer Protocol
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
used to exchange information on the
World Wide Web
The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet.
Documents and downloadable media are made available to the network through web se ...
, complementing the widely-deployed
HTTP/1.1 and
HTTP/2
HTTP/2 (originally named HTTP/2.0) is a major revision of the HTTP network protocol used by the World Wide Web. It was derived from the earlier experimental SPDY protocol, originally developed by Google. HTTP/2 was developed by the HTTP Working ...
. Unlike previous versions which relied on the well-established
TCP
TCP may refer to:
Science and technology
* Transformer coupled plasma
* Tool Center Point, see Robot end effector
Computing
* Transmission Control Protocol, a fundamental Internet standard
* Telephony control protocol, a Bluetooth communication s ...
(published in 1974), HTTP/3 uses
QUIC
QUIC (pronounced "quick") is a general-purpose transport layer network protocol initially designed by Jim Roskind at Google, implemented, and deployed in 2012, announced publicly in 2013 as experimentation broadened, and described at an IETF meet ...
, a
multiplexed transport protocol built on
UDP. On 6 June 2022, IETF published HTTP/3 as a
Proposed Standard in .
File:HTTP-1.1 vs. HTTP-2 vs. HTTP-3 Protocol Stack.svg, frame, Protocol Stack of HTTP/3 compared to HTTP/1.1 and HTTP/2
rect 0 44 85 94 HTTP/1
rect 0 95 85 137 Transport Layer Security
Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in securi ...
rect 0 138 85 189 Transmission Control Protocol
The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly ...
rect 126 44 210 94 HTTP/2
HTTP/2 (originally named HTTP/2.0) is a major revision of the HTTP network protocol used by the World Wide Web. It was derived from the earlier experimental SPDY protocol, originally developed by Google. HTTP/2 was developed by the HTTP Working ...
rect 126 95 210 137 TLS 1.2
Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The communication protocol, protocol is widely used in applications such as email, instant messaging, and voice over I ...
rect 126 138 210 189 Transmission Control Protocol
The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly ...
rect 251 44 336 74 HTTP/3
HTTP/3 is the third major version of the Hypertext Transfer Protocol used to exchange information on the World Wide Web, complementing the widely-deployed HTTP/1.1 and HTTP/2. Unlike previous versions which relied on the well-established TCP ( ...
rect 255 90 328 121 TLS 1.3
Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in securi ...
rect 251 125 336 158 QUIC
QUIC (pronounced "quick") is a general-purpose transport layer network protocol initially designed by Jim Roskind at Google, implemented, and deployed in 2012, announced publicly in 2013 as experimentation broadened, and described at an IETF meet ...
rect 251 159 336 189 User Datagram Protocol
In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) network. ...
rect 0 189 336 231 Internet Protocol
The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.
IP h ...
HTTP/3 uses similar semantics compared to earlier revisions of the protocol, including the same
request methods,
status codes, and
message fields, but encodes them and maintains session state differently. However, partially due to the protocol's adoption of QUIC, HTTP/3 has lower latency and loads more quickly in real-world usage when compared with previous versions: in some cases over 3× faster than with HTTP/1.1 (which remains the only HTTP version deployed by many websites).
HTTP/3 is supported by 75% of web browsers (and 83% of "tracked desktop" web browsers),
and 26% of the top 10 million websites.
It has been supported by
Chromium
Chromium is a chemical element with the symbol Cr and atomic number 24. It is the first element in group 6. It is a steely-grey, lustrous, hard, and brittle transition metal.
Chromium metal is valued for its high corrosion resistance and hardne ...
(and derived projects including
Google Chrome
Google Chrome is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macOS ...
,
Microsoft Edge,
Samsung Internet
Samsung Internet Browser (or simply Samsung Internet or ''S Browser'') is a mobile web browser for smartphones and tablets developed by Samsung Electronics. It is based on the open-source Chromium project. It comes pre-installed on Samsung Galax ...
, and
Opera
Opera is a form of theatre in which music is a fundamental component and dramatic roles are taken by singers. Such a "work" (the literal translation of the Italian word "opera") is typically a collaboration between a composer and a librett ...
) since April 2020 and by
Mozilla Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current and a ...
since May 2021.
Safari
A safari (; ) is an overland journey to observe wild animals, especially in eastern or southern Africa. The so-called "Big Five" game animals of Africa – lion, leopard, rhinoceros, elephant, and Cape buffalo – particularly form an importa ...
14 (on
macOS Big Sur and
iOS 14) implemented the protocol but it remains
disabled by default.
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", and later renamed "Hypertext Transfer Protocol (HTTP) over QUIC".
On 28 October 2018 in a mailing list discussion, Mark Nottingham, Chair of the
IETF
The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements and a ...
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". 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.
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. Firefox added support for HTTP/3 in November 2019 through a feature flag
and started enabling it by default in April 2021 in Firefox 88.
Experimental support for HTTP/3 was added to Safari Technology Preview on April 8, 2020 and was included with Safari 14 that ships with
iOS 14 and
macOS 11,
but it's still disabled by default as of Safari 16, on both macOS and iOS.
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
HTTP/2 (originally named HTTP/2.0) is a major revision of the HTTP network protocol used by the World Wide Web. It was derived from the earlier experimental SPDY protocol, originally developed by Google. HTTP/2 was developed by the HTTP Working ...
use
TCP
TCP may refer to:
Science and technology
* Transformer coupled plasma
* Tool Center Point, see Robot end effector
Computing
* Transmission Control Protocol, a fundamental Internet standard
* Telephony control protocol, a Bluetooth communication s ...
as their transport. HTTP/3 uses
QUIC
QUIC (pronounced "quick") is a general-purpose transport layer network protocol initially designed by Jim Roskind at Google, implemented, and deployed in 2012, announced publicly in 2013 as experimentation broadened, and described at an IETF meet ...
, a
transport layer
In computer networking, the transport layer is a conceptual division of methods in the layered architecture of protocols in the network stack in the Internet protocol suite and the OSI model. The protocols of this layer provide end-to-end ...
network protocol which uses
user space congestion control over the
User Datagram Protocol
In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) network. ...
(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. There is client support for HTTPS resource records since Firefox 92, iOS 14, reported Safari 14 support, and Chromium supports it behind a flag.
Implementations
Client
Browser
Libraries
Open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
libraries that implement client or server logic for QUIC and HTTP/3 include
Server
* On 7 June 2021,
LiteSpeed Web Server
LiteSpeed Web Server (LSWS) is proprietary web server software. It is the 4th most popular web server, estimated to be used by 10% of websites as of July 2021. LSWS is developed by privately held LiteSpeed Technologies. The software uses the sa ...
(and OpenLiteSpeed) 6.0.2 was released and became the first version to enable HTTP/3 by default.
*
Caddy
Caddy may refer to:
* Caddie, also spelled caddy, a golfer's assistant
* A shopping caddy
* A box or bin, such as a "green bin" for food waste
* Caddy (bridge), an assistant to a tournament director
* Caddy (surname)
* Caddy (given name)
* C ...
web server v2.6.0 (released 20 September 2022) has HTTP/3 enabled by default.
*
Nginx
Nginx (pronounced "engine x" ) is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software ...
support for HTTP/3 is being worked on. A technology preview of nginx with HTTP/3 support was released in June 2020.
* Cloudflare distributes a patch for nginx that integrates the quiche HTTP/3 library into it.
*
Microsoft IIS
Internet Information Services (IIS-pronounced 2S, formerly Internet Information Server) is an extensible web server software created by Microsoft for use with the Windows NT family. IIS supports HTTP, HTTP/2, HTTPS, FTP, FTPS, SMTP and NNTP. ...
support for HTTP/3 is enabled natively with Windows Server 2022/Windows 11.
See also
*
HTTP
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
*
HTTP/2
HTTP/2 (originally named HTTP/2.0) is a major revision of the HTTP network protocol used by the World Wide Web. It was derived from the earlier experimental SPDY protocol, originally developed by Google. HTTP/2 was developed by the HTTP Working ...
*
QUIC
QUIC (pronounced "quick") is a general-purpose transport layer network protocol initially designed by Jim Roskind at Google, implemented, and deployed in 2012, announced publicly in 2013 as experimentation broadened, and described at an IETF meet ...
References
External links
*
*
RFC 9114 "Hypertext Transfer Protocol Version 3 (HTTP/3)"HTTP/3 explained(
Daniel Stenberg
Magnus Daniel Stenberg is a Swedish developer, recipient of the Polhem Prize 2017 for his work on cURL.
He was born and raised in Huddinge, a suburb south of Sweden's capital Stockholm. He created a utility which, after various name and license c ...
)
HTTP/3 on caniuse.comList of QUIC implementations on the IETF QUIC Working Group WikiTool to check if a website supports HTTP/3
{{DEFAULTSORT:HTTP 3
Hypertext Transfer Protocol
Application layer protocols
Computer-related introductions in 2018