HTTP, one of the most common and often overlooked web surfs, has been upgraded to HTTP/3. This article takes you through HTTP/3 in a straightforward way.

Recently two dogs to see their storage goddess Tingting photos used by the cloud service providers – and take cloud launched HTTP/3 taste features. As a student of Erguzi who loves learning, he is surprised and curious. He is very familiar with HTTPS and HTTP/2, but he knows little about HTTP/3.

“HTTP/2 is not yet popular, and I did not expect to see the cloud even HTTP/3 functionality, really worthy of the conscience of the industry, sure enough, they often say that the technology atmosphere is not just talk. It looks like I haven’t been working hard these days, so it’s time to learn something about HTTP/3.” Two dogs while thinking, while began to find information to learn.

What is HTTP/3?

To understand HTTP/3 in depth, you first need to know what HTTP/3 is.

As shown in the figure above, HTTP/3 is a QUIC-based protocol. QUIC protocol is a set of open source protocol proposed by Google. It is based on UDP, and its direct competitor is TCP.

Also, HTTP/3, the history of HTTP is very difficult to get around and can go on for a long time.

If you want to learn more about the history and development of HTTP, check out the previous section, What I Talk about when I Talk about HTTP.

Pros and cons of HTTP/3

Today we will briefly mention some of the improvements HTTP/3 has made over HTTP/2.

Returning to the topic, HTTP/3 has the following improvements over HTTP/2:

  • HTTP/3 further extends HTTP/2 multiplexing with STREAM. In HTTP/3 mode, the usual number of streams will be generated as many files are transferred. When packet loss occurs in one of these files, you simply need to retransmit the stream corresponding to the lost packet file.

  • HTTP/3 is not established based on TCP, but through UDP to ensure the reliability of transmission in the user space. Compared with TCP, THE QUIC protocol based on UDP improves the speed of connection establishment and reduces the delay.

  • HTTP/3 supports Connection migration and NAT rebinding by introducing the Connection ID.

  • HTTP/3 has a BUILT-IN TLS security mechanism that includes authentication, encryption, data, and payload.

  • Congestion control. TCP is implemented in the kernel, while HTTP/3 moves congestion control out of the kernel and through user space. The advantage of this is that you don’t have to wait for kernel updates to make it easy to iterate quickly.

  • Head compression. HTTP/3 has been replaced with an HPACK-compatible QPACK compression scheme. QPACK optimizes support for out-of-order sending, as well as compression.

No technology is perfect, let alone HTTP/3, which is still in development.

HTTP/3 uses UDP to establish transmissions. Before HTTP/3, UDP was usually found in written theories such as Computer Network, and even practical applications were mostly associated with cyber attacks, which gave UDP a bad reputation. With a poor reputation and limited hardware support, most Internet services naturally restrict access to UDP.

Are you ready for HTTP/3?

However, there is no doubt that HTTP/3 is currently the most cutting-edge Internet standard, and its shortcomings can be improved through continuous improvement. In contrast to HTTP/3’s shortcomings, the most critical problem as a new technology is whether it can be effectively supported enough to be widely adopted.

So is the current environment ready for HTTP/3?

HTTP/3, as one of the standard innovations of the Internet, supports no more than two aspects, one is a server, one is a client.

The Curl command line tool and the Chrome browser support HTTP/3. In Chrome’s Developer tools bar you can see an item that says “HTTP/2+ QUic /99”, which is proof that Chrome already supports HTTP/3. After all, HTTP/3 is made up of the QUIC protocol.

With the latest version of the Curl command line tool [github.com/curl/curl], you simply add “–HTTP/3” to the end of the regular command to use HTTP/3, which will naturally return “HTTP/3 200” if the target server supports it.

With client support confirmed, let’s look at the server side.

Since 2013, when QUIC was officially unveiled, it has been developed for almost 7 years until 2020. At present, there are many popular open source projects on the Internet, except for the leading brother Google, which has completed the support of its own search engine, but also pulled Gmail, YouTube and other sites. But for the vast majority of sites in the country, HTTP/3 seems to be a dead end, even though Nginx has publicly stated that “we already support the QUIC protocol.”

We can see that while the environment has not yet fully iterated over HTTP/3, HTTP/3 is unstoppable.

As a geek atmosphere strong company, and shot cloud in many manufacturers are not ready, painstaking study, has launched HTTP/3 early taste services, you can personally experience HTTP/3 to bring changes.

[However, there is no doubt that HTTP/3 is currently the most cutting-edge Internet standard, and its shortcomings can be improved through continuous improvement. Compared with the defects of HTTP/3 itself, the most fatal problem as a new technology is whether it can get enough effective support to carry out large-scale promotion.

So is the current environment ready for HTTP/3?

HTTP/3, as one of the standard innovations of the Internet, supports no more than two aspects, one is a server, one is a client.

The Curl command line tool and the Chrome browser support HTTP/3. In Chrome’s Developer tools bar you can see an item that says “HTTP/2+ QUic /99”, which is proof that Chrome already supports HTTP/3. After all, HTTP/3 is made up of the QUIC protocol.

With the latest version of the Curl command line tool [github.com/curl/curl], you simply add “–HTTP/3” to the end of the regular command to use HTTP/3, which will naturally return “HTTP/3 200” if the target server supports it.

With client support confirmed, let’s look at the server side.

Since 2013, when QUIC was officially unveiled, it has been developed for almost 7 years until 2020. At present, there are many popular open source projects on the Internet, except for the leading brother Google, which has completed the support of its own search engine, but also pulled Gmail, YouTube and other sites. But for the vast majority of sites in the country, HTTP/3 seems to be a dead end, even though Nginx has publicly stated that “we already support the QUIC protocol.”

We can see that while the environment has not yet fully iterated over HTTP/3, HTTP/3 is unstoppable.

As a geek atmosphere strong company, and shot cloud in many manufacturers are not ready, painstaking study, has launched HTTP/3 early taste services, you can personally experience HTTP/3 to bring changes.

Experience immediately

Recommended reading

Brief analysis of QUIC/HTTP3 protocol

From HTTP/1 to HTTP/2, and HTTP/3 to come