HTTP/2 and HTTP/3 (QUIC) Explained

HTTP is the protocol browsers use to fetch your pages. Its newer versions — HTTP/2 and HTTP/3 — move the same content far more efficiently over the same network. Understanding what changed helps you squeeze real speed out of a connection you are already paying for.

The short version

HTTP/1.1 handles one request at a time per connection, causing queuing delays. HTTP/2 multiplexes many requests over a single connection. HTTP/3 goes further by running over QUIC on UDP, eliminating a whole class of stalls when packets are lost. Both are widely supported, and enabling them is usually a server or CDN setting away.

The problem: head-of-line blocking

Under HTTP/1.1, a connection carries one request and response at a time. Browsers work around this by opening several parallel connections, but each still processes requests in order — if one response is slow, everything queued behind it waits. This is head-of-line blocking, and on a modern page with dozens of assets it adds up to real delay.

HTTP/2: multiplexing over one connection

HTTP/2 replaced text-based messages with a compact binary framing layer. Its headline feature is multiplexing: many requests and responses share a single connection at the same time, interleaved as independent streams. It also compresses headers and lets the server prioritise streams. The practical effect is that all those images, scripts and stylesheets load together instead of queuing.

There is a catch. HTTP/2 still runs over TCP, and TCP delivers bytes strictly in order. If a single packet is lost, TCP holds back every stream until that packet is re-sent — so head-of-line blocking moves down to the transport layer on lossy networks.

HTTP/3: QUIC over UDP

HTTP/3 fixes that by abandoning TCP for QUIC, a transport built on UDP. QUIC keeps streams truly independent, so a lost packet only stalls its own stream, not all of them. It also folds the TLS handshake into the connection setup, shortening the round trips needed before data flows, and supports connection migration — a phone switching from Wi-Fi to cellular can keep its session alive. Encryption is mandatory, so HTTP/3 is always over TLS.

VersionTransportConcurrencyKey benefit
HTTP/1.1TCPOne request per connectionUniversal support
HTTP/2TCPMultiplexed streamsParallel loads, header compression
HTTP/3QUIC / UDPIndependent streamsNo transport-level blocking, faster setup

How to check what you support

Your browser’s developer tools show the protocol per request — add the “Protocol” column in the Network tab, where you will see h2 or h3. From the command line, curl can report it too:

curl -sI --http2 https://example.com | head -n 1
curl -sI --http3 https://example.com | head -n 1

You can also just run a scan or check response headers with our speed test to see how your server is answering.

How to enable them

The requirements are modest. HTTP/2 and HTTP/3 both require HTTPS in practice, so make sure your HTTP-to-HTTPS redirects are correct first. Then:

  • Nginx enables HTTP/2 with http2 on; and HTTP/3 via the QUIC listener in recent builds.
  • Apache uses mod_http2 with a Protocols h2 http/1.1 directive.
  • LiteSpeed supports HTTP/2 and HTTP/3 out of the box with no extra module.
  • Behind a CDN, HTTP/3 is often a single toggle, even if your origin only speaks HTTP/1.1.
HTTP/3 needs UDP open. Browsers discover HTTP/3 via an Alt-Svc header advertised over HTTP/2, then upgrade. If a firewall blocks UDP port 443, clients quietly stay on HTTP/2 — correct behaviour, but worth knowing when it seems “not working.”

Frequently asked questions

Do I need to change my website code to use HTTP/2 or HTTP/3?

No. They are transport upgrades handled by your server or CDN. Your HTML, CSS and JavaScript stay the same; visitors simply receive them faster.

Is HTTP/3 always faster than HTTP/2?

Usually on real networks with some packet loss or on mobile, yes. On a perfect, low-loss connection the difference can be small, but HTTP/3 rarely performs worse.

Can old browsers still reach my site?

Yes. Servers negotiate the best shared version, falling back to HTTP/1.1 for clients that need it, so nobody is locked out.

Related guides

Check your site against this guide

Run a free ScanOpsPro scan and see how your site handles the fundamentals.

Run a free scan