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 SPDY protocol. Cloudflare published a great blog post explaining the technical implementation. Worth reading it. At the time of writing, very few server-side application/webserver/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.
Geekflare Tools
Geekflare HTTP/3 test 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 the 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 the H3 support.
— Daniel Stenberg (@bagder) November 4, 2019
Launch Firefox NightlyType about:config in the address bar and press enterAccept the risk and continueSearch for network.http.http3.enabled and click on the toggle button to enable it.
Restart the Firefox nightly and open developer toolsAccess the site and look at the “Protocol” column.
Geekflare supports HTTP/3, and you can see that.
Google Chrome
You expected, didn’t you? You can use Chrome Canary to test.
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. Another option would be to build the cURL client as below. This would work on Linux.
Install Rust environment
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.