Performance Auditor: checks which HTTP versions your server negotiates and whether it advertises HTTP/3 to browsers.
Parallel loading
HTTP/2 and HTTP/3 load all of a page’s files over one connection at the same time.
Mobile networks
HTTP/3 runs on QUIC, which keeps pages loading when a mobile or Wi-Fi connection drops packets.
Alt-Svc header. This auditor checks both.
How it works
- HTTP/1.1 request: sends a
GETto the audited URL over HTTP/1.1 as 37AuditsBot and keeps only the headers. A blocked request ends the audit with590. A timeout, DNS or TLS failure, or a status other than 2xx ends it with500. - HTTP/2 request: sends the same
GEToffering HTTP/2 and records the version the server negotiated (HTTP/2orHTTP/1.1). - Alt-Svc: reads the
Alt-Svcheaders of both answers and looks for anh3token (h3, or a draft such ash3-29). - Rules: HTTP/1.1 without an HTTP/3 advertisement fails (
400). HTTP/2 without an HTTP/3 advertisement warns (300). - Aggregate:
FAILwins overWARNING. An HTTP/3 advertisement isSUCCESS(200).
What it audits
Every row maps to onecheckRule* method and one CheckCode, in the order the auditor runs them. CheckCode suffixes use status ranges: 200 success, 300–399 warning, 400–499 fail, 500–599 error.
Output documentation
Risks and considerations
Why the HTTP version matters
- HTTP/1.1 opens a handful of connections and queues every other file behind them. On a page with many assets this adds round trips, and the delay grows with network latency.
- HTTP/2 sends every file over one connection at once, but runs on TCP: one lost packet holds up every file until it is resent.
- HTTP/3 runs on QUIC (UDP), so a lost packet delays only the file it belongs to, and the connection survives switching between Wi-Fi and mobile data.
Turning them on
- Most CDNs (Cloudflare, Fastly, CloudFront, Akamai) offer HTTP/2 and HTTP/3 as a setting. Behind a CDN, the CDN’s edge is what this auditor sees.
- On your own server, HTTP/2 needs TLS with ALPN (nginx
http2 on;, Apachemod_http2). HTTP/3 needs UDP port 443 open and a server built with QUIC support, plus theAlt-Svcheader.
What this auditor does not check
- HTTP/3 is detected from the
Alt-Svcadvertisement only: the auditor does not open a QUIC connection, so it cannot tell whether UDP 443 is reachable. - A draft token such as
h3-29counts as an advertisement, although current browsers only useh3. - Plain
http://URLs cannot negotiate HTTP/2 the way browsers do (browsers use HTTP/2 only over TLS), so audit thehttps://address.