Skip to main content

Command Palette

Search for a command to run...

HTTP/3 - A Game changer for web performance?

Published
2 min read
HTTP/3 - A Game changer for web performance?
M

At Notionmind®, there is more to us than just being a technology company, we are your partners in the process of digital transformation. Outstanding since the inception of the company in 2019, we have carved our niche within the technology sector by assisting businesses from different verticals to integrate the core power of AI, data, and advanced software systems into their operational activities for growth and impact.

We serve businesses through providing them with practical, advanced and progressive digital solutions that enhance revenues and make a difference in the world on a constantly changing backdrop of technology.

HTTP/3 has arrived, and it can have a significant impact on how people interact with your website.

In general, the more resources your site necessitates, the greater the performance boost you'll see.

Key difference HTTP/1 vs HTTP/2 vs HTTP/3

HTTP/1 - One File at a Time

HTTP/2 - Partial Multiplexing

HTTP/3 - True Multiplexing and QUIC

HTTP/1

If a web page requires 10 javascript/css files, the web browser must first retrieve those ten files before the page can be fully loaded. The web browser in HTTP/1.1 world can only download one file at a time via a TCP connection to the server.

HTTP/2

Multiplexing was a significant improvement in HTTP/2. By switching to multiplexed file downloads, it resolved application-level head-of-line blocking issues. In other words, a client could request all 10 files at once and begin downloading them all concurrently over a single TCP connection.

Unfortunately, HTTP/2 still suffers from head-of-line blocking, albeit at a lower layer. TCP becomes the weakest link in the chain. Any data stream that loses a packet must wait for that packet to be retransmitted before proceeding.

HTTP/3

The primary distinction between HTTP/2 and HTTP/3 is the transport protocol used. Instead of TCP, HTTP/3 utilises a new protocol known as QUIC.

Now what is QUIC?

A general-purpose transport protocol designed to address HTTP/2's head-of-line blocking issues with TCP. It enables the creation of a series of stateful streams (similar to TCP) over UDP.

The QUIC transport protocol includes stream multiplexing and per-stream flow control, which is similar to the HTTP/2 framing layer. QUIC has the ability to improve HTTP performance when compared to a TCP mapping by providing reliability at the stream level and congestion control across the entire connection.

Why is HTTP/3 so Much Faster?

  • Because HTTP/3 is truly multiplexed, there is no Head-of-line blocking anywhere on the stack.
  • HTTP/3 also supports O-RTT QUIC connections, which reduces the number of round trips.

Can we use HTTP/3 today?

  • LiteSpeed Web Server (and OpenLiteSpeed) supports HTTP/3 draft 32.
  • The Caddy web server has experimental support for HTTP/3 as of 2.0 beta.
  • Nginx support for HTTP/3 is being worked on. A technology preview of nginx with HTTP/3 support was released in June 2020.
  • Cloudflare distributes a patch for Nginx that integrates the quiche HTTP/3 library into it.

Google and Facebook, for instance, already provide their traffic using HTTP/3. For current browsers, Google.com is exclusively provided via HTTP/3.

As the HTTP/3 gets closer to completion, it may be time to consider enabling it for your website.