HTTP/3: Let transport efficiency take off again.

7, HTTP / 3

HTTP/2 relies on TCP. HTTP/2 relies on TCP. HTTP/2 relies on TCP.

  • The main problem of TCP is queue header blocking. The queue header blocking problem is solved at the application layer, but not at the TCP protocol layer.

  • In addition, because you are multiplexing a TCP connection, if the TCP congestion window is not properly set, performance will deteriorate dramatically.

Later, Google invented gQUIC(Quick UDP Internet Connection) protocol.

7.1, QUIC

QUIC is a transport layer network protocol originally developed by Google. In QUIC protocol, TCP is replaced by UDP in transport layer, and a set of congestion control algorithm is implemented in user space to avoid the problem of TCP queue blocking.

On top of UDP, QUIC implements connection management, congestion window, flow control, etc.

Then Mark Nottingham, chair of the IETF HTTP and QUIC Working Group, made a formal request to rename http-over-QuIC to HTTP/3.

HTTP/ 3 uses the same semantics as HTTP/1.1 and HTTP/2. The most essential difference is the underlying USE of the QUIC transport protocol and the use of an internal framing layer similar to HTTP/2 to provide the transport of HTTP semantics.

HTTP3 Update: As of August 2020, the HTTP/3 protocol has become an Internet draft, and there are multiple implementation schemes, 6.7% of the top 10 million websites support HTTP/3. On the browser side, both Firefox and Chrome Stable support HTTP/3, but it is disabled by default, and Safari 14 will enable HTTP/3 by default.

7.2 overview of HTTP/3

Since HTTP/3 is still in the draft stage, here is an overview of HTTP/3 functionality. Here is the overall architecture:

  • UDP is adopted in the bottom layer, and the reliability of transmission is guaranteed by QUIC protocol in user space.

  • With the introduction of Connection ID, there is no longer a need to bind the Connection based on IP and port like TCP, and Connection migration is supported. That is to say, the same Connection can continue to be used when switching from mobile network to WIFI.

  • The head compression algorithm was replaced by HPACK to QPACK, so as to support out-of-order sending and optimize compression rate.

  • QUIC includes a built-in TLS1.3, so it supports 1-RTT fast connection establishment;

7.3. Development process

Currently, 6.7% of the top 10 million web sites support HTTP / 3. On the browser side, both Firefox and Chrome Stable support HTTP/3, but it is disabled by default, and Safari 14 will enable HTTP/3 by default.

For further information, you can read the latest HTTP/3 draft released on 14 August 2020: Hypertext Transfer Protocol Version 3 (HTTP/3)[1]

Tip: praise handsome life!