繁体   English   中英

Java HTTP / 2服务器套接字

[英]Java HTTP/2 Server Socket

我想让服务器套接字在Java中用于HTTP / 2,最好是TLS / https。

我有一个TLS服务器套接字工作正常,但浏览器只会说HTTP / 1.1。 如果我理解正确,您需要ALPN来获取HTTP / 2浏览器以连接到您的TLS套接字并开始在其上运行HTTP / 2; 浏览器不会要求在https上升级到HTTP / 2。 到目前为止,Java8似乎没有做ALPN。 也许还有其他方法来强制浏览器做HTTP / 2,至少是非TLS。

那么,有谁知道如何为HTTP / 2创建Java服务器套接字?

Java至少在JDK 9之前不会获得ALPN,这将定于2016年底或2017年。

同时,您可以使用JettyALPN实现 ,或者更好的是,直接使用Jetty(或其他服务器),而不是使用ServerSocket进行自己的HTTP / 2实现。

[免责声明,我是Jetty提交者] Jetty 9.3非常支持HTTP / 2,包括HTTP / 2推送

仅供参考,Java开发团队正在为Java 9准备ALPN。希望您能看到这个问题, https://bugs.openjdk.java.net/browse/JDK-8062848

ALPN支持可能会被反向移植到JDK 8,因此需要一个不引入任何新Java SE API的实现。 这可能需要在com.oracle.ssl.net包中或通过系统属性创建一些内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM