jdk 8 使用okhttp3 实现 http2

简介: 使用jdk8 使用okhttp3 实现http2请求
  • 使用okhttp3 发送HTTP请求就不赘述了,网上到处都是,参见https://blog.csdn.net/taiyangdao/article/details/80896330
  • 主要介绍下,如何发送HTTP2协议(后简称h2)请求,默认用上述方式发送的请求实际上还是HTTP1.1协议的。
  • 这是因为h2新加入了ALPN(Application Layer Protocol Negotiation),从字面意思理解就是应用层协议协商,即双方商量下用哪个协议。不幸的是jdk8是在2014年发布的,当时HTTP2协议还没出生,幸运的是通过第三方jar包就可以支持ALPN。
  • jdk7和jdk8通过添加jvm参数加入第三方alpn支持包,注意版本不能搞错,jdk7使用 alpn-boot-7..jar ,jdk8使用 alpn-boot-8..jar ,这里有版本对应关系 alpn-versions

jdk8
-Xbootclasspath/p:/home/payne/Downloads/alpn-boot-8.1.11.v20170118.jar
jdk7
-Xbootclasspath/p:/home/payne/Downloads/alpn-boot-7.1.3.v20150130.jar
jdk9
使用jdk9平台时,注意okhttp版本大于3.3.0
https://mvnrepository.com/artifact/org.mortbay.jetty.alpn/alpn-boo

使用方式
idea
image.png

jmeter

修改jmeter 文件,加入
JVM_ARGS=$JVM_ARGS" -Xbootclasspath/p:/home/alpn-boot-8.1.13.v20181017.jar"
如下图
image.png

目录
相关文章
|
5月前
|
Oracle Java 关系型数据库
JDK版本特性问题之在 JDK 11 中,HTTP Client API 的特点有哪些
JDK版本特性问题之在 JDK 11 中,HTTP Client API 的特点有哪些
|
8月前
|
网络协议 Java API
JDK 9新特性探秘:HTTP/2支持及其性能优势
本文将深入探讨JDK 9中引入的一项重要新特性——对HTTP/2协议的原生支持。HTTP/2作为下一代互联网传输协议,相较于HTTP/1.1在性能、安全性和效率方面有着显著的提升。JDK 9通过内置HTTP/2客户端API,为Java开发者提供了更加便捷和高效的网络通信手段。本文将详细介绍HTTP/2的特性、JDK 9中HTTP/2的支持方式,以及如何在实际项目中应用这一新特性来提升网络应用的性能。
JDK11的新特性:HTTP API和reactive streams
JDK11的新特性:HTTP API和reactive streams
|
前端开发 Java API
JDK11的新特性:新的HTTP API
JDK11的新特性:新的HTTP API
|
JSON Java Apache
如果你想在Java代码中写一个Http客户端,你会选择哪一种方式?Okhttp vs Apache vs Jdk
如果你想在Java代码中写一个Http客户端,你会选择哪一种方式?Okhttp vs Apache vs Jdk
|
存储 Web App开发 监控
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
我们以前使用过的对hbase和hdfs进行健康检查,及剩余hdfs容量告警,简单易用 1.针对hadoop2的脚本: #/bin/bashbin=`dirname $0`bin=`cd $bin;pwd`STATE_OK=...
1060 0
|
Web App开发 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
异步通信 对于BS(Browser-Server 浏览器)架构,很多情景下server的处理时间较长。 如果浏览器发送请求后,保持跟server的连接,等待server响应,那么一方面会对用户的体验有负面影响; 另一方面,很有可能会由于超时,提示用户服务请求失败。
775 0
|
Web App开发 监控 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
Datanode的日志中看到: 10/12/14 20:10:31 INFO hdfs.DFSClient: Could not obtain block blk_XXXXXXXXXXXXXXXXXXXXXX_YYYYYYYY from any node: java.
698 0
|
Web App开发 大数据
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
                                                                               1.
1741 0