When is Kubernetes getting HTTP/3?

Posted to: DEV; Hacker News

The standard for HTTP/3, RFC 9114, was published as a proposed standard in June 2022. This is significant:

A Proposed Standard specification is stable, has resolved known design choices, has received significant community review, and appears to enjoy enough community interest to be considered valuable.

(RFC 7127: Characterization of Proposed Standards)

But for some reason I don’t hear as much chatter about HTTP/3 as I used to HTTP/2 at a similar stage. I’m impatient for it though. It is significantly faster, and although I can’t find any actual energy benchmarks, the massive reduction in round-trips should mean it’s significantly less energy intensive.

My site is already on HTTP/3, courtesy of CloudFlare, whom I believe are running the nginx-quic custom build of NGINX. This immediately brings HTTP/3 to around 20% of the internet, according to Cloudflare. However, of course, this is only from the edge to the client. Most of the sites behind Cloudflare’s cache will not be on HTTP/3.

Apart from that, Wikipedia says that Caddy (0.1%), LiteSpeed (5%) and Microsoft IIS (3%) all support HTTP/3 out of the box. But one particular tech stack is conspicuously absent here: Kubernetes.

For example, ubuntu.com (which I work on during my day job) still doesn’t support HTTP/3. This is because getting it into Kubernetes seems to be taking a while. It sounds like it won’t land until NGINX merge it into their stable release.

Cloudflare claimed:

Our current target for completing the code merge into the NGINX mainline branch is the end of 2021, after which it will be a full part of the NGINX mainline branch and NGINX Plus in subsequent releases.

But there have been a couple of updates, one in the comments under their blog post:

Tony Mauro: Product Management tells me that we hope to fully support QUIC and HTTP/3 by the end of 2022. Note that this is not a promise :-)

And another on the Kubernetes issue:

stalkerg: HTTP/3 has some issues with SSL implementations it’s why difficult to add it into NGINX. Basically, the responsibility between SSL lib and HTTP server became is dramatically different because we should support UDP protocol QUIC.

I don’t have more information than this right now, but hopefully it’ll get stabilised, merged, and then included in Kubernetes before the end of 2023. 🤞

By @nottrobin