我非常关注HTTPS和HTTP / 2之间的性能差异。
我非常关心连接过程中每一步的消耗时间。
包括SSL Handshakes
Client sent Application Data
和Client received Application Data
port 440
。
我做了一个测试。
使用Nginx服务器,设置ssl
:port 442
和ssl http2
:ssl_session_cache
关闭ssl_session_tickets
和TCP Handshakes
,然后每个请求都会处理SSL Handshakes
和// https url : ssl_session_cache off; ssl_session_tickets off;
https://www.example.com:440/index.html
// http/2 url : ssl_session_cache off; ssl_session_tickets off;
https://www.example.com:442/index.html
OKHttp 3.8.1
最后,我使用Connection : Close
从Android应用启动了1000次以上的两个网址。
每个请求都已添加标题Client Receive Application Data From Server
。
同时,使用Wireshark捕获数据包。
统计结果出乎意料!
在步骤 window.___browserSync___.socket.disconnect();
中,HTTP / 2比HTTPS消耗更多时间。
为什么呢?我很迷惑。我错了吗?有任何想法吗???谢谢你。
统计结果(时间:ms)
https.url.and.http2.url
nginx.conf
[root @ iZ941gs04jwZ~] #nginx -V
nginx版本:nginx / 1.12.0
由gcc 4.8.5 20150623(Red Hat 4.8.5-11)(GCC)建造
使用OpenSSL 1.0.2l构建2017年5月25日
启用TLS SNI支持
配置参数: - prefix = / usr / local / webserver / nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre = / root / tmp / pcre-8.35 --with-http_v2_module --with-openssl = ../的OpenSSL-1.0.2l