HTTP is the language browsers and web servers speak. HTTP/2 and HTTP/3 send the same pages but over a more efficient connection, which matters most on mobile networks and for visitors far from the server. This guide explains the difference and how to confirm what your site uses.
Before you start
- Your site must use HTTPS: browsers only use HTTP/2 and HTTP/3 over TLS. See redirect to HTTPS.
- Chrome, Edge or Firefox, and optionally a recent
curl.
HTTP/1.1 limits
HTTP/1.1 handles one request at a time per connection, so browsers open about six connections per site and queue the rest. Headers are repeated as plain text on every request.
What HTTP/2 changes
- Multiplexing: many requests share one TCP connection at the same time.
- Header compression (HPACK) removes repeated headers.
- Binary framing makes parsing faster.
The catch: it still runs on TCP. One lost packet stalls every stream on that connection (head-of-line blocking).
What HTTP/3 and QUIC change
HTTP/3 runs on QUIC, a transport built on UDP port 443 (see TCP vs UDP).
- Lost packets only delay the stream they belong to.
- TLS 1.3 is built in, so a new connection needs one round trip, and repeat visits can use zero.
- Connections survive network changes, for example Wi-Fi to mobile data.
MdmHost servers use LiteSpeed, which supports HTTP/3 out of the box; details in LiteSpeed HTTP/3 and QUIC explained.
Check the version in your browser
- Open your site, press F12 and go to the Network tab.
- Right-click a column header and enable Protocol.
- Reload.
h2means HTTP/2,h3means HTTP/3. The first visit often showsh2; the server then advertises HTTP/3 and the next reload switches toh3.
Check with curl
curl -sI --http2 https://example.com | head -1
curl -sI https://example.com | grep -i alt-svcAn alt-svc: h3=":443" header means the server offers HTTP/3. With a curl built with HTTP/3 support:
curl -sI --http3 https://example.com | head -1Troubleshooting
- Never shows h3: UDP 443 may be blocked by a firewall on a VPS or by your own network. Open
443/udpon self-managed servers. - Behind Cloudflare: the browser speaks HTTP/3 to Cloudflare, which is enabled in Cloudflare's Speed → Optimization → Protocol Optimization settings, independent of your origin.
- Shows http/1.1: the site is not on HTTPS or a proxy in between downgrades it.
