客户端 okhttp/3.4.1
http2.0协议本身并不要求基于https,但是浏览器,服务器都要求http2.0 over https,毕竟https是大势所趋嘛。想体验2.0的低延迟,先把https做好。
因此,使用非加密的http2.0需要对okhttp源码进行修改,修改起来并不复杂,我的策略是在协议为http时,判断host,如果是我们的域名xxx.suning.com,协议返回HTTP_2。
服务端 nginx/1.10
以前总是认为,http2.0必须且只能配置在server的443端口,配置在80端口,肯定报错。经过实践,应该是这样的,http2.0不能配置在80端口,其他所有端口都可以,比如81、82、83、443。。。。
测试时,在81端口配置了http2.0。客户端访问http://xxx.suning.com:81,协议为h3。
作用
对于单条接口来说,如果去掉SSL握手过程,可以减少大概180ms。
现在依然没有强制执行https,非加密的http2.0仍有用武之地。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。