HOME

TheInfoList



OR:

HTTP/3 is the third major version of the
Hypertext Transfer Protocol HTTP (Hypertext Transfer Protocol) 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, wher ...
used to exchange information on the
World Wide Web The World Wide Web (WWW or simply the Web) is an information system that enables Content (media), content sharing over the Internet through user-friendly ways meant to appeal to users beyond Information technology, IT specialists and hobbyis ...
, 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 (published in 1974), HTTP/3 uses QUIC (officially introduced in 2021), a
multiplexed In telecommunications and computer networking, multiplexing (sometimes contracted to muxing) is a method by which multiple analog or digital signals are combined into one signal over a shared medium. The aim is to share a scarce resource— ...
transport protocol built on UDP. 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 four times as fast than with HTTP/1.1 (which, for many websites, is the only HTTP version deployed). As of September 2024, HTTP/3 is supported by more than 95% of major web browsers in use and 34% of the top 10 million websites. It has been supported by
Chromium Chromium is a chemical element; it has Symbol (chemistry), symbol Cr and atomic number 24. It is the first element in Group 6 element, group 6. It is a steely-grey, Luster (mineralogy), lustrous, hard, and brittle transition metal. Chromium ...
(and derived projects including
Google Chrome Google Chrome is a 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, iOS, iPadOS, an ...
,
Microsoft Edge Microsoft Edge is a Proprietary Software, proprietary cross-platform software, cross-platform web browser created by Microsoft and based on the Chromium (web browser), Chromium open-source project, superseding Edge Legacy. In Windows 11, Edge ...
, Samsung Internet, and
Opera Opera is a form of History of theatre#European theatre, Western theatre in which music is a fundamental component and dramatic roles are taken by Singing, singers. Such a "work" (the literal translation of the Italian word "opera") is typically ...
) 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 curren ...
since May 2021.
Safari A safari (; originally ) is an overland journey to observe wildlife, wild animals, especially in East Africa. The so-called big five game, "Big Five" game animals of Africa – lion, African leopard, leopard, rhinoceros, African elephant, elep ...
14 implemented the protocol but it remains disabled by default.


History

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, such as the Internet. The protocol is widely used in applications such as email, instant messaging, and voice over ...
rect 0 138 85 189
Transmission Control Protocol The Transmission Control Protocol (TCP) is one of the main communications protocol, protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, th ...
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 rect 126 138 210 189
Transmission Control Protocol The Transmission Control Protocol (TCP) is one of the main communications protocol, protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, th ...
rect 251 44 336 74 HTTP/3 rect 255 90 328 121 TLS 1.3 rect 251 125 336 158 QUIC 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 Network packet, packets) to other hosts on an Internet Protoco ...
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 ...
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 standard, Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster ...
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 iOS 14 is the fourteenth major release of the iOS mobile operating system developed by Apple for the iPhone and iPod touch lines. Announced at the company's Worldwide Developers Conference on June 22, 2020 as the successor to iOS 13, it was rel ...
and macOS 11, but it's still disabled by default as of Safari 16, on both macOS and iOS. On 6 June 2022,
IETF The Internet Engineering Task Force (IETF) is a standards organization for the Internet standard, Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster ...
published HTTP/3 as a Proposed Standard in .


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 as their transport. HTTP/3 uses QUIC, 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 c ...
network protocol A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any variation of a physical quantity. The protocol defines the rules, syntax, semantics, and synchronization of ...
which uses
user space A modern computer operating system usually uses virtual memory to provide separate address spaces or regions of a single address space, called user space and kernel space. This separation primarily provides memory protection and hardware prote ...
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 Network packet, packets) to other hosts on an Internet Protoco ...
(UDP). The switch to QUIC aims to fix a major problem of HTTP/2 called "
head-of-line blocking Head-of-line blocking (HOL blocking) in computer networking is a performance-limiting phenomenon that occurs when a queue of packets is held up by the first packet in the queue. This occurs, for example, in input-buffered network switches, out-o ...
": 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. The HTTPS DNS resource record as defined in allows for 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


Libraries

Open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
libraries A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
that implement client or server logic for QUIC and HTTP/3 include


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. * Caddy web server v2.6.0 (released 20 September 2022) has HTTP/3 enabled by default. *
Nginx (pronounced "engine x" , stylized as NGINX or nginx) 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 Russian developer Igor Sysoev and publicly released in 20 ...
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. Binary packages of nginx with HTTP/3 support have been released in February 2023. * Cloudflare distributes a patch for nginx that integrates the quiche HTTP/3 library into it. *
Microsoft IIS Microsoft IIS (Internet Information Services, IIS, 2S) is an extensible web server created by Microsoft for use with the Windows NT family. IIS supports HTTP, HTTP/2, HTTP/3, HTTPS, FTP, FTPS, SMTP and NNTP. It has been an integral part of th ...
support for HTTP/3 is enabled natively with Windows Server 2022/Windows 11. * HAProxy supports HTTP/3 over QUIC since version 2.6 released on 31 May 2022. *
Nimble Streamer Nimble Streamer is a software Streaming media, media server developed by Softvelum. The server is used for streaming of live and video on demand, on-demand video and audio to desktop computers, mobile devices, internet-connected TV sets, IPTV set ...
supports HTTP/3 since 4.1.8-1 for HTTP-based protocols.


See also

*


References


External links

* *
HTTP/3 explained
(
Daniel Stenberg Magnus Daniel Stenberg is a Swedish developer and recipient of the 2017 Polhem Prize (for a high-level technological innovation or an ingenious solution to a technical problem) for his work on the cURL utility. Stenberg was born and raised in Hu ...
)
HTTP/3 on canIuse.com

List of QUIC implementations on the IETF QUIC Working Group Wiki
{{Use dmy dates, date=January 2019 Hypertext Transfer Protocol Application layer protocols Internet properties established in 2018