• Java对HTTP2的支持


    Java对HTTP2的支持

    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

  • 相关阅读:
    POJ 1325、ZOJ 1364、HDU 1150 Machine Schedule
    约数的计算
    Opencv距离变换distanceTransform应用——细化字符轮廓&&查找物体质心
    霍夫圆变换
    【奇葩笔试】—— printf() 作为函数的参数及其返回值
    【奇葩笔试】—— printf() 作为函数的参数及其返回值
    字典(dictionary)的设计
    字典(dictionary)的设计
    极值点、驻点、鞍点、拐点
    极值点、驻点、鞍点、拐点
  • 原文地址:https://www.cnblogs.com/lizm166/p/16820976.html
Copyright © 2020-2023  润新知