What is HTTP/3?

Published in ,

on

HTTP/3 is the latest version of the Hypertext Transfer Protocol (HTTP), which is the foundation of data communication on the web.

If you need a very easy explanation about this protocol, then think of HTTP as the language that your web browser and the server (where websites are hosted) use to talk to each other. When you click on a link or type a web address, your browser sends an HTTP request to the server, and the server responds with the web page data.

HTTP/3 - QUIC
HTTP/3 – QUIC

HTTP/3 makes this communication faster and more efficient by using a new transport protocol called QUIC, which was originally developed by Google. QUIC helps speed up the connection and makes it more reliable, especially over slow or unreliable networks.

How fast is HTTP/3, compared to HTTP/2 and HTTP/1.1?

To compare the speed of HTTP/3 with HTTP/2 and HTTP/1.1 graphically, let’s consider the following bar chart, which illustrates the average page load times for each protocol.

Average page load times.

  • HTTP/1.1: Takes around, 1000ms. Can handle 2 connection at a time from a host.
  • HTTP/2: Takes around, 600ms. Multiplexing in connection, but connection setup overheads were still a problem. Overall, it solved many problems.
  • HTTP/3: Takes around 400ms. Using latest protocol even faster connection is possible, connection overhead reduced to 0-RTT (Zero Round Trip Time).

Below is a conceptual representation of these load times:

Page Load Times (in milliseconds)
1000 -   .---------------------. TLS 1.1 (TCP)
     |   |                     |
 800 +   |        .------------| TLS 1.2 (TCP)
     |   |        |            |
 600 +   |        |------------| TLS 1.3 (TCP)
     |   |        |            |
 400 +   |        |      .-----| TLS 1.3 (QUIC)
     |   |        |      |     |
 200 +   |        |      |     |
     |   |        |      |     |
   0 ----+--------+------+-----+- HTTP Versions
         HTTP/1.1 HTTP/2 HTTP/3

^ Rotate your mobile if unable to view the diagram correctly.

Explanation:

HTTP/1.1:

This version is the oldest and typically the slowest among the three, with longer page load times due to less efficient handling of multiple requests.

Client     Server
  |---------->| TCP
  |<----------| TCP
  |---------->| HTTP/1.1
  |<----------| HTTP/1.1
  |---------->| Single stream
  |  Stream 1 | Data
  |---------->|
  |  Stream 1 | Data
  |---------->|
  |  Stream 1 | Data
  .           . Continuation

^ Rotate your mobile if unable to view the diagram correctly.

HTTP/2:

Introduced multiplexing, which allows multiple requests to be sent over a single connection, significantly reducing load times compared to HTTP/1.1. But due to use of HTTPS and TLS encryption connection overhead is there, but it is still faster.

HTTP/2 + TLS 1.2 have a total of four round trips before it sends any data.

Client     Server
  |---------->| TCP
  |<----------| TCP
  |---------->| TLS 1.2
  |<----------| TPL 1.2
  |---------->| TLS 1.2
  |<----------| TPL 1.2
  |---------->| HTTP/2
  |<----------| HTTP/2
  |---------->| Multiple streams
  |  Stream 1 | Data
  |---------->| .
  |  Stream 2 | Data
  |---------->| .
  |  Stream 3 | Data
  .           . Continuation

^ Rotate your mobile if unable to view the diagram correctly.

HTTP/2 + TLS 1.3 have a total of three round trips before it sends any data.

Client     Server
  |---------->| TCP
  |<----------| TCP
  |---------->| TLS 1.3
  |<----------| TPL 1.3
  |---------->| HTTP/2
  |<----------| HTTP/2
  |---------->| Multiple streams
  |  Stream 1 | Data
  |---------->| .
  |  Stream 2 | Data
  |---------->| .
  |  Stream 3 | Data
  .           . Continuation

^ Rotate your mobile if unable to view the diagram correctly.

HTTP/3:

Utilizes QUIC, which further reduces load times by minimizing connection setup delays (which were overhead) and improving reliability, even on unstable networks.

HTTP/3 uses TLS 1.3, and it has only two round trips before it sends any data.

Client     Server
  |---------->| QUIC+TLS 1.3 & (0-RTT when reused) 
  |<----------| QUIC+TLS 1.3 & (0-RTT when reused)
  |---------->| HTTP/3 (0-RTT when reused)
  |<----------| HTTP/3 (0-RTT when reused)
  |---------->| (Multiple streams in a QUIC connection)
  |  Stream 1 | Data
  |---------->| .
  |  Stream 2 | Data
  |---------->| .
  |  Stream 3 | Data
  .           . Continuation

^ Rotate your mobile if unable to view the diagram correctly.

When a second session is made on the same QUIC connection, it utilizes the 0-RTT (Zero Round Trip Time), so it reuses the same to session eliminating all connection overheads making the connection blazing fast for the client. It has only one limitation, that the connection begins from HTTP/2 and then switches to HTTP/3.

Connection setup: HTTP/2 (TLS 1.2 and 1.3) and HTTP/3
HTTP/2 (TLS 1.2 vs TLS 1.3) vs HTTP/3

But any limitation is for current time now, as soon as world move to new standards the all web standard will follow the same and eventually HTTP/3 will be the fastest.

See the diagram on the right side, it compares how HTTP/2 with TLS 1.2 loads compared to TLS 1.3 which establishes connection of TCP and how they both are comparable with HTTP/3 that uses TLS 1.3 with the help of QUIC, this is how our internet resources are connecting before it sends any data to our browser.

This visual helps to understand that as we progress from HTTP/1.1 to HTTP/3, the page load times decrease, indicating a faster and more efficient web browsing experience.

Let’s understand with an example.

In simple terms, imagine you’re ordering a pizza.

With older versions of HTTP, you had to go through a long process to confirm your order, payment, and delivery details, sometimes resulting in delays if any step had an issue.

HTTP/3 streamlines this process, allowing you to place your order faster and ensuring it arrives on time, even if your internet connection isn’t perfect.

This means web pages load quicker, videos stream more smoothly, and your overall browsing experience is improved even when the network is under load or slow.

End note.

HTTP/3 represents a significant advancement in web communication technology, building on the improvements of HTTP/2 and addressing the limitations of HTTP/1.1.

By leveraging the QUIC protocol, HTTP/3 enhances the speed and reliability of data transfer, resulting in faster page load times and a smoother browsing experience.

As more websites adopt HTTP/3, users can expect a noticeable improvement in how quickly and reliably web content is delivered, even on less stable internet connections. This evolution underscores the ongoing efforts to optimize web performance and improve user experience in our increasingly digital world.


Leave a Reply

Your email address will not be published. Required fields are marked *