roadrunner
roadrunner copied to clipboard
[💡FEATURE REQUEST]: Support for QUIC or HTTP/3
Hi guys, thank you for the project.
Do you plan to implement the QUIC protocol AKA HTTP/3?
I cannot into Golang, but i've found several implementations of QUIC: 1 2 3
According to the article from Uber, this should be a very promising feature.
@cidious Quick is currently in the beta stage (or alfa might be). There is a draft document about standard link. I think, when it is supported by default by major browsers (not via the config flags) we will add the support of QUIC.
Also, if this request is popular, we will add support for sure ASAP :) From my POV I totally agree with you, this def will be a very promising feature.
Technically it's still in draft, but Google already using it in production.
The IETF just published QUIC as RFC 9000, supported by RFC 9001, RFC 9002, and RFC 8999. That means QUIC version 1 is officially formalized, and QUIC deployments will now move away from using temporary draft versions to the newly minted version 1. (HTTP/3, the version of HTTP that runs on QUIC, is following closely behind, and should be published soon.)
This news is a big deal, both for the IETF and for the internet ecosystem.
ref: https://github.com/golang/go/issues/32204
Accepted for the v2.11.0. It will be in the http plugin: https://github.com/roadrunner-server/http
http/3 is now standardized: https://www.rfc-editor.org/rfc/rfc9114.html
EDIT: Since we have a standard now, I'd rather wait for the Go stdlib implementation.
HTTP(3) crypto/tls accepted: https://github.com/golang/go/issues/44886
Hi guys, author of quic-go here 👋. Have you considered using quic-go for QUIC support in roadrunner?
quic-go is quite mature at this point. The project has been around for about 8 years, and (among many others) it powers HTTP/3 support in the Caddy web server and QUIC support in IPFS. We’ll actually use the new crypto/tls API (https://github.com/golang/go/issues/44886) linked in the comment above as soon as Go 1.21 is released.
I’d be happy to give you some pointers for integrating it, if there’s interest :)
Hey @marten-seemann 👋🏻 nice to meet you :)
Yes, I am waiting for the Go 1.21 release to start working on the integration ⚡
Thanks for the quic-go, nice job 👍🏻
The quic-go v0.37.x releases now support Go 1.21.
That's nice, added to the v2024 milestone 👍🏻
Will be added much faster I think, under the new RR -e (experimental) flag ❤️
Are there any plans of replacing quic-go with x/net/quic once it gets stable?
Hey @readycool 👋
x/net/quic ticket and implementation in go is still in progress.
We're working on adding http3 support in RoadRunner, but, since RR is not a web-server it is going slow.