Mattias recently tweeted that his website can now be served over HTTP/3 “even though no browser supports it yet”.
While it’s true that no browser supports it out of the box right now, there are options to enable HTTP/3. Here’s how.
🧪 As with all experimental technolgy/features: things might break! Be warned!
If you search
chrome://flags you’ll find an option named “Experimental QUIC Protocol” which you can enable:
That alone however won’t do. You’ll also need to enable a specific HTTP3 version, apparently. This extra change cannot be done through
chrome://flags, but only through a command line option.
To fully enable HTTP/3 in Chrome, you must launch it with the command line options
--enable-quic --quic-version=h3-27 :
/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary --enable-quic --quic-version=h3-27
At least Firefox 75 is required.
Safari Technology Preview Release 104 which was just released has added HTTP3 as an experimental feature. To enable it, you’ll first need to enable the “Develop” menu through its settings.
If you’re running (the unreleased) macOS 10.16 / iOS 14, you can now use the Develop menu and underneath Experimental Features enable it.
🙏 Thanks to Kai for digging up the fact that macOS 10.16 is required.
How to test this?
A good site to test your connection is https://www.litespeedtech.com/. Visit that site and open the DevTools of your browser (
SHIFT+CMD+I). In the Network tab enable the protocol column and refresh the page.
Here’s an example of Firefox:
quic.rocks is also a good site you can use. I did notice that Firefox for example sometimes loads that site using HTTP/1.1 and sometimes using HTTP/3 … experimental features, right? 😉
Thank me with a coffee.
I don\'t do this for profit but a small one-time donation would surely put a smile on my face. Thanks!
To stay in the loop you can follow @bramus or follow @bramusblog on Twitter.
> I did notice that Firefox for example sometimes loads that site using HTTP/1.1 and sometimes using HTTP/3
75.0 (64 bits) : 1st connection HTTP1/1, then it switches to HTTP/3. Everything’s fine 🙂
Leave a comment