Java HTTP / 2服务器套接字 [英] Java HTTP/2 Server Socket

查看:133
本文介绍了Java HTTP / 2服务器套接字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to get server sockets working for HTTP/2 in Java, preferably TLS/https.

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

I've got a TLS server socket working fine, but browsers will only talk HTTP/1.1 to it. If I understand correctly, you need ALPN to get a HTTP/2 browser to connect to your TLS socket and start running HTTP/2 on it; browsers won't ask for upgrade to HTTP/2 on https. It seems Java8 does not do ALPN so far. Maybe there is some other way to coerce browsers to do HTTP/2, at least non-TLS.

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

So, anybody know how to make a Java server socket for HTTP/2?

推荐答案

Java至少会在2016年底或2017年的JDK 9之前获得ALPN。

Java won't get ALPN until at least JDK 9, which is slated for late 2016 or 2017.

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

Meanwhile, you can use Jetty's ALPN implementation, or better yet, use Jetty (or other servers as suggested) directly rather than doing your own HTTP/2 implementation using ServerSocket.

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

[Disclaimer, I am a Jetty committer] Jetty 9.3 has great support for HTTP/2, including HTTP/2 Push.

这篇关于Java HTTP / 2服务器套接字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆