非加密http2.0

<强>客户端okhttp/3.4.1

http2.0协议本身并不要求基于https,但是浏览器,服务器都要求http2.0 https,毕竟https是大势所趋嘛。想体验2.0的低延迟,先把https做好。

因此,使用非加密的http2.0需要对okhttp源码进行修改,修改起来并不复杂,我的策略是在协议为http时,判断主机,如果是我们的域名xxx.suning.com协议返回HTTP_2。

非加密http2.0

<强>服务端nginx/1.10

以前总是认为,http2.0必须且只能配置在服务器的443端口,配置在80端口,肯定报错。经过实践,应该是这样的,http2.0不能配置在80端口,其他所有端口都可以,比如81年,82年,83443年....

测试时,在81年端口配置了http2.0。客户端访问http://xxx.suning.com: 81年,协议为h3。

非加密http2.0

<强>作用

对于单条接口来说,如果去掉SSL握手过程,可以减少大概180 ms。

现在依然没有强制执行https,非加密的http2.0仍有用武之地。

非加密http2.0