Check HTTP/3

Enter a domain. The HTTP/3 check fetches the domain and www (for a subdomain only that host) normally, reads the Alt-Svc header and then tries a second request over HTTP/3 only. You see whether browsers that want HTTP/3 reach your site over QUIC or fall back to HTTP/2 only after a delay.

What is HTTP/3?

HTTP/3 (RFC 9114) is the third major version of HTTP. Instead of TCP it runs over QUIC (RFC 9000), a transport protocol on UDP with TLS 1.3 built in. Connection setup and encryption happen in one step, a lost packet no longer stalls all parallel requests, and a connection survives switching from Wi-Fi to mobile data.

All major browsers speak HTTP/3, as do CDNs like Cloudflare and web servers like Caddy, LiteSpeed and nginx from version 1.25. Visitors on mobile networks with fluctuating connections notice the difference most.

How HTTP/3 is advertised

A browser does not know in advance whether a server speaks QUIC. So the first connection usually uses HTTP/2, and the server announces in the Alt-Svc header that the same service is also available over HTTP/3: h3 stands for HTTP/3, the number after the colon is the UDP port, ma is how many seconds the browser remembers it. From the next connection on it tries QUIC.

HTTP
HTTP/2 200
content-type: text/html; charset=utf-8
alt-svc: h3=":443"; ma=86400

Why broken HTTP/3 matters

The typical case: the web server advertises HTTP/3, but UDP port 443 is closed. After a server move, a new firewall rule, or at a host that only opens TCP 443. The Alt-Svc header stays, because it comes from the web server configuration.

Browsers then try QUIC, wait for an answer and fall back to HTTP/2. The site loads, but noticeably slower, and monitoring over TCP stays green. This is exactly the state the check finds: advertised, but not reachable over QUIC.

What the check tests

  • The domain and www. If you enter a subdomain such as shop.example.com, only that host.
  • Alt-Svc of the final response after all redirects, with the advertised port.
  • A second request over HTTP/3 only to exactly that origin, without falling back to TCP.
  • Advertised but no answer over QUIC: warning. Before that the check tests its own QUIC path against reference targets, so a problem at the checking location does not raise a false alarm.
  • No h3 in the Alt-Svc header: hint. HTTP/3 is optional; in the domain check it costs no points.

Setting up HTTP/3

Two things have to match: the web server listens for QUIC, and UDP 443 is open all the way.

  • Web server: in nginx 1.25+ an additional listen line with quic plus the Alt-Svc header; Caddy and LiteSpeed have HTTP/3 enabled by default.
  • Firewall: open UDP 443 inbound, on the server and in any firewall your host puts in front. Rules for TCP 443 do not apply to UDP.
  • Load balancers and reverse proxies: many only forward TCP. Terminate QUIC there or remove the Alt-Svc header.
  • If UDP cannot be opened, remove the Alt-Svc header. Without the announcement no browser tries HTTP/3, and there is no delay.
nginx
server {
    listen 443 ssl;
    listen 443 quic reuseport;
    http2 on;
    server_name example.com www.example.com;
    add_header Alt-Svc 'h3=":443"; ma=86400' always;
}

Monitoring HTTP/3 continuously

A blocked UDP port rarely shows up when you check yourself, because the browser quietly falls back to HTTP/2. DomainWarn checks the websites of all client domains for HTTP/3, every 6 hours on Free and hourly otherwise. If advertised HTTP/3 does not answer over QUIC twice in a row, an incident opens, and a change of the announcement appears in the timeline.

Frequently asked questions

Does my website need HTTP/3?
No. HTTP/2 is fast and supported by every browser. HTTP/3 mostly helps on mobile networks. Only an announcement with nothing behind it is a problem: it is worse than none.
My browser shows HTTP/3, but the check reports it as unreachable?
Your connection may have gone through a CDN or another location, or the browser reused a remembered connection. With curl --http3-only -I https://example.com/ you test over QUIC specifically, from a machine outside your network.
Why does the check say "not checked"?
To fetch over QUIC, the checking location needs a working UDP path itself. Without it the check only shows what the Alt-Svc header advertises and says explicitly that reachability was not checked. That is not a finding about your website.
Monitor continuously
Monitor the websites of all client domains continuously

Website monitoring for agencies: DomainWarn checks availability, status code, response time, redirects, IPv6, headers and content of all client websites.

More about monitoring

More tools

Free tool

Domain Check

Check website, email, DNS and domain in one run: 20 checks, a score from 0 to 100 per area and overall, with recommendations. Free, no sign-up required.

Open tool →
Free tool

Email header analyzer

Paste email headers and read them in plain words: did SPF, DKIM and DMARC pass, does the sender domain align, which servers relayed it, how long it took?

Open tool →
Free tool

Privacy check

Check for free which third parties your home page loads before any consent: Google Fonts, Analytics, pixels, maps – with a note on what is legally risky.

Open tool →
Free tool

security.txt Checker

Check your security.txt for free: Contact, Expires, expiry date, HTTPS and content type per RFC 9116. See whether security researchers can reach you.

Open tool →
Free tool

Website Check

Check a website for free: robots.txt, XML sitemap, broken pages, dead links, accidental noindex and canonical tags – up to 20 URLs in one run.

Open tool →
Free tool

Email Check

Check SPF, DKIM, DMARC and MX of a domain in one run, free and without sign-up. Shows whether your mail meets the Google and Yahoo sender requirements.

Open tool →
Free tool

SPF Checker

Free SPF record check and lookup: syntax, includes, the 10 DNS lookup limit and the closing qualifier. Shows whether your domain blocks forged senders.

Open tool →
Free tool

DMARC Checker

Free DMARC record check: policy (none, quarantine, reject), pct, reporting addresses and syntax errors. With recommendations for moving to p=reject.

Open tool →
Free tool

DNS Checker

Free DNS lookup straight from the authoritative name server: A, AAAA, CNAME, MX, TXT, NS and CAA records at a glance. No sign-up, every record explained.

Open tool →
Free tool

MX Checker

Free MX lookup: which mail servers receive for a domain, do they resolve, is the priority right? Detects missing and unreachable mail servers.

Open tool →
Free tool

SSL Checker

Free SSL certificate check: expiry date, issuer, chain, host name and TLS version, mail servers too. Detects expired, self-signed and mismatched certificates.

Open tool →
Free tool

HTTP Header Checker

Free HTTP header check: HSTS, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options, Referrer-Policy and Permissions-Policy, with fixes.

Open tool →
Free tool

Is the website down?

Website not loading? Check for free whether a site is down for everyone or just for you: response, status code, load time, redirects and IP addresses.

Open tool →
Free tool

DNS Propagation Checker

Check DNS propagation for free: which resolvers worldwide (Google, Cloudflare, Quad9 …) already return the new A, MX or TXT record, which still the old one?

Open tool →
Free tool

Redirect Checker

Free 301 redirect check: every hop with status code and response time, from http to https, from www to non-www. Detects redirect chains, loops and 302s.

Open tool →
Free tool

DKIM Checker

Free DKIM record check and lookup: selector, key type, key length, syntax and revoked keys. Leave the selector empty to try common selectors automatically.

Open tool →
Free tool

DNSSEC Checker

Free DNSSEC test: DS record, resolver validation and broken signature chains. Shows whether validating resolvers like Google and Cloudflare still reach you.

Open tool →
Free tool

Name Server Check

Free name server check: does every NS answer authoritatively, do all serve the same zone data, are they in different networks? Finds lame delegation.

Open tool →
Free tool

CAA Record Checker

Free CAA record check: issue, issuewild and iodef, matched against the CA of your current certificate. Shows whether the next renewal is going to fail.

Open tool →
Free tool

IPv6 Check

Free check of the AAAA records for the domain and www and, where the checking location has IPv6, a fetch over every IPv6 address. Finds dead records.

Open tool →
Free tool

MTA-STS Checker

Free MTA-STS check: DNS record, policy file, mode, max_age and whether your MX servers are covered. Shows whether inbound mail enforces TLS.

Open tool →
Free tool

TLS-RPT Checker

Free TLS-RPT record check: syntax, reporting addresses (rua) and common errors such as a missing record. Shows whether you get reports on TLS failures.

Open tool →
Free tool

BIMI Checker

Free BIMI record check: syntax, logo URL, SVG Tiny PS, VMC certificate and the DMARC prerequisite. Shows why your logo does not appear in Gmail.

Open tool →
Free tool

Blacklist Check

Free IP and domain blacklist check: mail server IPs, website IP and domain against Spamhaus, Spamcop, Barracuda, PSBL and SURBL. With delisting links.

Open tool →
Free tool

Domain Checker

Free domain check: WHOIS data via RDAP straight from the registry, expiry date, registrar, EPP status, transfer lock and name servers. Warns before expiry.

Open tool →