使用HTTP2 / SPDY时,我应该缩小和连接javascript和CSS吗?

时间:2014-01-30 09:12:06

标签: javascript css http minify spdy

鉴于HTTP2(和SPDY)中连接重用和多路复用的优势以及gzip压缩的可用性,是否需要在构建过程中添加缩小和连接步骤?

3 个答案:

答案 0 :(得分:3)

根据Chrome团队的Surma,在H2上你可以并且实际上应该停止捆绑,因为它没用,并且允许更有效的浏览器缓存:

https://www.youtube.com/watch?v=w--PU4HO9SM(时间1:10)

我认为根据您的需要,缩小或混淆仍然是可取的。

答案 1 :(得分:1)

当通过H2 / SPDY提供资源时,测试是决定缩小和/或连接的唯一真正方法。

HTTP / 2(H2)背后的想法是在流上提供静态资源(单个多路复用TCP连接)。测试表明,大多数"通过不连接资源(甚至不使用CDN),站点有助于提高速度。这完全取决于在H2 / SPDY上提供的资源的大小。我看到一个站点的增加速度提高30%+而其他站点没有改变。

有了这个问题,我的建议是通过减少所有资源而不是连接它们来测试。我还测试服务所有公共资源(不使用CDN - 这也取决于您的客户所在地)。

<强>资源:

  1. Akamai
  2. Columnist Patrick Stox
  3. HTTP/2 101 (Chrome Dev Summit 2015)

答案 2 :(得分:0)

是的,您仍然需要缩小和连接js和css文件,原因如下:

  • 脚本缩小和SPDY压缩不一样。一个好的minifier知道利用本地范围,并用压缩友好的短重复名称替换详细的变量名。

  • SPDY结合了您的请求,因此您无需将脚本拼接在一起。但并非所有浏览器都支持SPDY

  • SPDY 2和3是二进制不兼容的。当浏览器支持2并且服务器通告3时,连接将通过SSL回退到HTTP 1.1;根本没有SPDY的好处

  • 通过一个请求加载10个文件仍会在服务器端引发10次提取。组合这些文件可以减少磁盘I / O.

您的问题可以说“我现在可以更快地运行,可以更少关注编写高效的代码吗?”

答案是否定的。不要偷懒。正确编码。