博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java对HTTP2的支持
阅读量:4178 次
发布时间:2019-05-26

本文共 1238 字,大约阅读时间需要 4 分钟。

说到Java对HTTP2的支持情况,实质上包含两个部分。一个就是Java对TLS 1.2及其ALPN扩展的支持情况,另一个就是Java对HTTP2客户端、服务器的编程支持情况。

1. Java对TLS 1.2及其ALPN扩展的支持

1.1 Java 6

初始时不支持TLS 1.2,但在最新的更新包(6u191)支持,并且客户端默认即使用TLS 1.2。

但是为了支持HTTP2,还要借助于Jetty的ALPN模块alpn-boot。

下载alpn-boot的jar,并且在启动JVM时加参数java -Xbootclasspath/p:<path_to_alpn_boot_jar> ...

1.2 Java 7

初始时都不支持TLS 1.2,但在最新的更新包(7u181)支持,并且客户端默认即使用TLS 1.2。

但是为了支持HTTP2,还要借助于Jetty的ALPN模块alpn-boot。

下载alpn-boot的jar,并且在启动JVM时加参数java -Xbootclasspath/p:<path_to_alpn_boot_jar> ...

1.3 Java 8

初始即支持TLS 1.2,并且客户端默认即使用TLS 1.2。

但是为了支持HTTP2,还要借助于Jetty的ALPN模块alpn-boot。

下载alpn-boot的jar,并且在启动JVM时加参数java -Xbootclasspath/p:<path_to_alpn_boot_jar> ...

1.4 Java 9

初始即支持TLS 1.2,并且客户端默认即使用TLS 1.2。

通过JEP 244, TLS ALPN Extension支持ALPN,完整支持了HTTP2。

1.5 Java 10

同Java 9。

1.6 Java 11

同Java 9,并进而支持TLS 1.3。

2. Java对HTTP客户端、服务器的编程支持

2.1 客户端Java API

从Java 9开始,通过JEP 110, HTTP/2 Client API proposal提供了对HTTP 2.0和WebSocket客户端的编程支持。以HttpClient替换了HttpURLConnection/HttpsURLConnection。

但是,该模块仍然属于沙箱试验,Java 10仍然未能正式发布。为JVM添加模块后使用:

--add-modules=jdk.incubator.http

从Java 11开始,JEP 110, HTTP/2 Client API终于正式发布,模块名java.net.http

2.2 服务端Servlet 4.0

在JavaEE 8中,正式发布了JSR 369,支持Servlet 4.0。

 

参考链接:

http://www.oracle.com/technetwork/java/javase/jdk-relnotes-index-2162236.html

 

转载地址:http://pmlai.baihongyu.com/

你可能感兴趣的文章
Linux lsof命令详解
查看>>
C/C++中字符串操作函数strcpy,strcat,strlen等
查看>>
贝壳找房机试题(笔试题)
查看>>
Xerces的下载,编译和在VS 2019中的配置
查看>>
国内快速访问GitHub的方法,亲测有用
查看>>
键盘fn键常亮(一直亮),解决办法
查看>>
Xerces C++实现xml文件解析
查看>>
用户强制一台设备登录,其他设备登出
查看>>
spring实现单例及创建线程安全单例
查看>>
设计模式-- 模板方法模式
查看>>
SQL关键字执行顺序
查看>>
设计模式--适配器模式
查看>>
SpringMvc注解之@ControllerAdvice
查看>>
SQL--查询两个字段相同的记录
查看>>
多研究些架构,少谈些框架(1) -- 论微服务架构的核心概念
查看>>
多研究些架构,少谈些框架(2)-- 微服务和充血模型
查看>>
多研究些架构,少谈些框架(3)-- 微服务和事件驱动
查看>>
SQL性能优化梳理
查看>>
微服务架构技术栈
查看>>
想面试进BAT,不得不看的分布式锁,面试题都在这里了!!
查看>>