HTTP/3

Protocol Stack of HTTP/3 compared to HTTP/1.1 and HTTP/2

Third major version of the Hypertext Transfer Protocol used to exchange information on the World Wide Web, alongside HTTP/1.1 and HTTP/2.

- HTTP/3

19 related topics

Relevance

HTTP/2

Major revision of the HTTP network protocol used by the World Wide Web.

Its successor is HTTP/3, a major revision that builds on the concepts established by HTTP/2.

Hypertext Transfer Protocol

Application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems.

URL beginning with the HTTP scheme and the WWW domain name label
Tim Berners-Lee
An HTTP/1.1 request made using telnet. The request message, response header section, and response body are highlighted.

HTTP/3 is the proposed successor to HTTP/2, is close to being standardized; already used by 25% of websites; it is now supported by many web browsers (73% of users).

Communication protocol

System of rules that allows two or more entities of a communications system to transmit information via any kind of variation of a physical quantity.

Figure 2. The TCP/IP model or Internet layering scheme and its relation to some common protocols.
Figure 3. Message flows using a protocol suite. Black loops show the actual messaging loops, red loops are the effective communication between layers enabled by the lower layers.
Figure 5: Protocol and software layering. The software modules implementing the protocols are represented by cubes. The information flow between the modules is represented by arrows. The (top two horizontal) red arrows are virtual. The blue lines mark the layer boundaries.

Binary have been used in the normative documents describing modern standards like EbXML, HTTP/2, HTTP/3 and EDOC.

User Datagram Protocol

One of the core members of the Internet protocol suite.

Network Packet

HTTP/3 uses QUIC as opposed to earlier versions of HTTPS which use a combination of TCP and TLS to ensure reliability and security respectively.

Transmission Control Protocol

One of the main protocols of the Internet protocol suite.

A Simplified TCP State Diagram. See TCP EFSM diagram for a more detailed state diagram including the states inside the ESTABLISHED state.
Connection termination
TCP sequence numbers and receive windows behave very much like a clock. The receive window shifts each time the receiver receives and acknowledges a new segment of data. Once it runs out of sequence numbers, the sequence number loops back to 0.

Note, as of the latest standard, HTTP/3, QUIC is used as a transport instead of TCP.

QUIC

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 meeting.

Handshake of QUIC compared to TCP with TLS1.2

In October 2018, the IETF's HTTP and QUIC Working Groups jointly decided to call the HTTP mapping over QUIC "HTTP/3" in advance of making it a worldwide standard.

LiteSpeed Web Server

Proprietary web server software.

As of April 2020, LSWS was used by 69.3% of websites using QUIC and 47.6% of websites using HTTP/3.

Salsa20

Salsa20 and the closely related ChaCha are stream ciphers developed by Daniel J. Bernstein.

The Salsa quarter-round function. Four parallel copies make a round.
The ChaCha quarter-round function. Four parallel copies make a round.

ChaCha20 and Poly1305 are now used in the QUIC-protocol, which replaces SPDY and is used by HTTP/3.

List of HTTP header fields

HTTP header fields are a list of strings sent and received by both the client program and server on every HTTP request and response.

Strings are often made up of characters. They are useful for storing human-readable data, like sentences, or lists of alphabetical data, like the nucleic acid sequences of DNA.

HTTP/2 and HTTP/3 instead use a binary protocol, where headers are encoded in a single and zero or more frames using HPACK (HTTP/2) or QPACK (HTTP/3), which both provide efficient header compression.

Netty (software)

Non-blocking I/O client-server framework for the development of Java network applications such as protocol servers and clients.

Besides being an asynchronous network application framework, Netty also includes built-in implementations of SSL/TLS, HTTP, HTTP/2, HTTP/3, WebSockets, DNS, Google Protocol Buffers, SPDY and other protocols.