Did you enable H3 on your site and not sure how to verify it?
HTTP3 or H3 is the latest HTTP protocol developed by IETF. It’s still in a draft and expected to be supported by major browser/clients soon. H3 is based on the QUIC transport layer network protocol, which was originally designed by Google. It’s different than earlier versions like H2, which was derived from the SPDY protocol.
Cloudflare published a great blog post explaining the technical implementation. Worth reading it.
At the time of writing, very few server-side applications/webservers/network devices/CDN support H3. And, you can guess – Cloudflare is the first CDN to offer H3.
Let’s talk about client-side support.
H3 is still in the draft, so not every browser support H3 yet. At this time, you can use the following to test it. As usual, can I use would be a go-to reference to check supported browsers?
Domsignal
HTTP/3 test by Domsignal quickly connects your site using cURL and reveals if it supports H3/QUIC protocol. If the connection is successful, then it shows the advertised supported versions.
Alternatively, you can check the same for all your web properties with the Geekflare HTTP Protocol API. This brings in much-needed speed if you have multiple subject websites for reporting.
Interestingly, the free tier is a zero-risk way to try that for 3000 API calls per month. However, there are upgrades starting with a monthly $5 that comes with 10K API requests with a much higher rate of 25 requests per second.
HTTP/3 Check
A web tool by LightSpeed.
Access HTTP/3 Check and enter the URL to be tested. You will get the results instantly.
Firefox
Firefox Nightly has recently announced H3 support.
Firefox Nightly now has early HTTP/3 support for public testing!
— Daniel Stenberg (@bagder) November 4, 2019
- Launch Firefox Nightly
- Type
about:config
in the address bar and press enter - Accept the risk and continue
- Search for
network.http.http3.enabled
and click on the toggle button to enable it.
- Restart the Firefox nightly and open developer tools
- Access the site and look at the “Protocol” column.
Geekflare supports HTTP/3, and you can see that.
Google Chrome
You expected it, didn’t you?
You can use Chrome Canary to test.
Google Chrome Canary just became the first (available) browser to integrate (very) experimental #QUIC and HTTP/3 support!
Add flags “–enable-quic –quic-version=h3-23” and you should see “http/2+quic/99” show up in the devtools, which is actually http3 in disguise! pic.twitter.com/5Fhui46h3x
— Robin Marx (@programmingart) September 19, 2019
Launch Chrome Canary with "--enable-quic --quic-version=h3-23"
flag and run the test. You will not see H3 or HTTP/3 as a protocol in developer tools but “http2+quic/99”.
Geekflare API
Need to test it programmatically? Try Geekflare HTTP Protocol API. Not just HTTP/3, but it prints if the given site supports other protocols such as HTTP/1.1 and HTTP/2.
Interestingly, the free tier is a zero-risk way to try that for 3000 API calls per month.
cURL
Don’t want to leave your terminal?
cURL is great, and the latest version lets you test using --http3
flag. Download cURL and build it from the source.
curl --http3 https://yoursite.com -I
Another option would be to build the cURL client as below. This would work on Linux.
- Install Rust environment
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Build quiche as explained here
It works!
Conclusion
I hope this gives you an idea about testing the site if HTTP/3 is enabled. If you are a site owner, then take advantage of this latest protocol for better web performance.