loading...
Cover image for HTTP/2 vs HTTP/3

HTTP/2 vs HTTP/3

eesnaola profile image Ezequiel Esnaola ・2 min read

HTTP/3 is the new official version of the hypertext transfer protocol used to exchange binary information on the web. The most important HTTP/3 improvements come from QUIC, a new network layer protocol developed by Google in 2016.
 

What's the main difference with HTTP/2?

HTTP/3 implement a new layer protocol called QUIC (Quick UDP Internet Connection). This supports a set of multiplexed connections over UDP and has been designed to provide TLS 1.3 by default by, reducing latency in both connection and data transport.

TCP/TLS vs QUIC latency comparison
Source: How quick is QUIC?

  • Connection establishment latency Definitely the main improvement! QUIC only needs a single handshake to establish a safe session. Also, after the server and client established connections for the first time, a new handshake is no longer necessary.
  • Connection migration Very valuable feature! QUIC brings its own unique identifier for a connection, it allows you to transfer networks and keep the same connection UUID. For example it allows to go from LTE to WIFI without renegotiating the session.
  • Multiplexing without HOL blocking HOL(head-of-line) blocking is what happens when you request multiple objects, and a small object gets stuck because a preceding large object got delayed. By using multiple streams, lost packets carrying data for an individual stream only impact that specific stream. Therefore, QUIC does significantly decrease HOL blocking. Also, allowing the developer to actually choose what are the most important requests, based on characteristics other than their size, it could be tremendously helpful in improving the overall user experience.

 

What's the problem with TCP?

TCP needs a handshake to establish a session between server and client, and TLS needs its own handshake to ensure that the session is secured. QUIC only needs a single handshake to establish a secure session. As simple as that, you get the connection establishment time cut in half.

http2 vs http3

Is it possible to use HTTP/3 at this very moment?

At this time few sites are compatible with this new protocol and most browsers are not yet ready.

HTTP/3 browser support
Source: https://caniuse.com/http3

To check which websites are compatible, enter here and search for your favorite website.


Thanks for reading!

Discussion

markdown guide