支持 HTTP/1.1 和 HTTP/2 与 JAX-RS 客户机
我想为 JAX-RS 客户机实现一个支持 HTTP/1.1 和 HTTP/2 的 JAX-RS 客户机。
这个想法是,如果服务器支持带有HTTP / 2的ALPN,则使用HTTP / 2;如果服务器不提供任何信息,则使用HTTP / 1.1。
我已经阅读了一些关于ALPN的文章,这似乎是可能的,但我没有同时找到任何支持这些协议的东西。我没有设法将它们插入一起。
我想为 JAX-RS 客户机实现一个支持 HTTP/1.1 和 HTTP/2 的 JAX-RS 客户机。
这个想法是,如果服务器支持带有HTTP / 2的ALPN,则使用HTTP / 2;如果服务器不提供任何信息,则使用HTTP / 1.1。
我已经阅读了一些关于ALPN的文章,这似乎是可能的,但我没有同时找到任何支持这些协议的东西。我没有设法将它们插入一起。
随 Java 11 提供的 Java HTTP 客户端支持 HTTP/1.1 和 HTTP/2(参见 Java HTTP 客户端简介)。
我已经用它构建了一个连接器 泽西连接器 使用java.net.http.HttpClient
。您可以使用它添加以下依赖项。
<dependency>
<groupId>com.github.nhenneaux.jersey.connector.httpclient</groupId>
<artifactId>jersey-httpclient-connector</artifactId>
<version>0.2.2</version>
</dependency>