【问题标题】:Java HTTP/2 client implementations without ALPN [closed]没有 ALPN 的 Java HTTP/2 客户端实现 [关闭]
【发布时间】:2017-10-30 16:36:11
【问题描述】:

有一个list 的 Java HTTP/2 客户端实现。我找到了 Jetty、Netty 和 OkHttp code examples 并且似乎它们都需要包含特定版本的 ALPN library,具体取决于安装的 jdk。我不喜欢它,因为当您不是项目中唯一的开发人员时,它会带来麻烦。

我需要查询https url。问题是:有没有不使用 ALPN 的 HTTP/2 客户端实现?欢迎工作代码示例。谢谢!

【问题讨论】:

    标签: java netty okhttp embedded-jetty http2


    【解决方案1】:

    OkHttp 在 Java 9 beta 上无需任何特殊的 alpn-boot jar 即可工作,这是自动的。未来 OkHttp 也有望支持https://github.com/google/conscrypt

    我相信 Jetty 和 Netty 都支持 HTTP/2 先验知识(没有 NPN/ALPN)。

    例如码头

    https://github.com/eclipse/jetty.project/blob/0c8273f2ca1f9bf2064cd9c4c939d2546443f759/jetty-http2/http2-http-client-transport/src/test/java/org/eclipse/jetty/http2/client/http/DirectHTTP2OverTLSTest.java#L86

        HttpClientTransportOverHTTP2 transport = new HttpClientTransportOverHTTP2(new HTTP2Client());
        transport.setUseALPN(false);
        client = new HttpClient(transport, newSslContextFactory());
    

    我相信如果你使用 HttpToHttp2ConnectionHandler 对 Netty 来说它是有效的

    【讨论】:

      猜你喜欢
      • 2019-05-23
      • 2017-02-23
      • 2021-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-12
      • 2012-01-13
      • 2011-01-05
      相关资源
      最近更新 更多