关于压缩,就算是用HTTP2还是需要压缩JS文件的,HTTP2的新特性和压缩没有什么关系。
值得注意的是合并(或者说打包)。在HTTP2的连接复用的新特性加持下,减少请求数量不再重要,加载大量JS文件已经接近打包文件的性能。比如打包可以做到1s,那么加载50个JS文件可能就只有1.2s,可以当成差不多。那么,我们为什么要选择使用新特性呢?其实可以看一下它给JS缓存带来的好处:
在HTTP1.x的时候我们有很多优化方式其实就是为了解决连接数过多的问题的,比如CSS和JS打包,把多张图片组合成一张图片通过CSS来选取位置,使用多个域名来规避并发限制,这些“打包”做法有些时候其实并不是很友好,比如我们一个1MB的JS文件,只改了一行就需要重新缓存整个JS文件,而在HTTP2的协议下我们可以不打包资源文件,这样可以更高效的利用缓存机制。
最后,就当前浏览器对HTTP2支持还不够好的情况下,打包还是有一定的意义的。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…