http2使用入门
http2主要特性
二进制传输:以二进制方式传输
Header 压缩:专门的"HPACK”算法可以达到50%~90%的高压缩率
多路复用:可以只通过一个 TCP 连接就可以传输所有的请求数据,并行请求
服务器推送(server push):在浏览器刚请求HTML的时候就提前把可能会用到的JS、CSS文件发给客户端,减少等待的延迟,提升效率大约在8%左右
http2注意点
1、http2浏览器支持情况,绝大数浏览器已支持http2
2、大部分浏览器只基于 TLS 部署的HTTP2.0协议,所有一般会先升级成https
3、jdk8以上才支持http2
springboot配置http2
#端口号
server:
http2:
enabled: true
#配置ssl (https)
ssl:
key-store: classpath:keystore.p12
key-password: dreambroken
key-store-password: dreambroken
js代码校验网站是否使用了http2
(function () {
// 这个方法只在支持loadTimes的chrome浏览器下执行
if (window.chrome && typeof chrome.loadTimes === 'function') {
var loadTimes = window.chrome.loadTimes();
var spdy = loadTimes.wasFetchedViaSpdy;
var info = loadTimes.npnNegotiatedProtocol || loadTimes.connectionInfo;
// 以 「h2」作为判断标识
if (spdy && /^h2/i.test(info)) {
return console.info('本站点使用了HTTP/2');
}
}
console.warn('本站点没有使用HTTP/2');
})();