哦!原来我已经用上了http2
为什么突然想到http2了呢 !?
前几天研究微服务,然后需要了解rpc框架,就查看grpc grpc网络传输用的是http2 ,http2出来好几年了我还没去了解下,就特意去专门了解下
本来以为自己的服务器是http1.1的,想要搭建或者升级一下,结果一看wow原来我已经是http2了
这边不详说,http2个人理解主要是在兼容http1.1的基础上,
头部压缩
服务器push
多路复用
怎么升级http2呢 首先 http2必须是https 就以nginx为例
[root@localhost vhost]# nginx -V nginx version: nginx/1.16.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) built with OpenSSL 1.1.1b 26 Feb 2019 TLS SNI support enabled configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --with-stream --with-stream_ssl_module --with-openssl=/data/web/soft/lnmp1.6-full/src/openssl-1.1.1b --with-openssl-opt='enable-weak-ssl-ciphers'
需要nginx 支持openssl (太老的版本不行)
然后 –with-http_v2_module 有http2模块支持
在vhost配置的时候
listen 443 ssl http2;
那怎么查看是否是http2呢 chrome 的开发者工具
在network这一栏 默认显示项是没有Protocol的 需要把这个现实项勾选出来 右键任意一个head 例如name 勾选 Protocol
就可以看到
原来上https的时候我已经用上了http2了 流弊!
编程知识总是这么神奇,就像《I pencil》一样 太多的知识点,
我知道的越多,我不知道的越多!