从 Java 22 开始,OpenJDK 尚不支持 HTTP/3,因此无法使用
HttpURLConnection
或
java.net.http.HttpClient
发出 HTTP/3 请求(使用 QUIC 作为底层协议)。
这个老问题已经提交了差不多5年了,但仍然没有进展。
这主要是因为实现 HTTP/3 需要付出很大的努力,尤其是在 QUIC 层。
话虽如此,还有其他 Java 库提供 HTTP/3 支持。
[免责声明,我是 Jetty 提交者]。
例如,Jetty 项目为 client 和 server 提供了对 HTTP/3 的支持。