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

Eua*_*uan 12 javascript css http minify spdy

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

Jor*_*nel 5

根据 Chrome 团队的 Surma 的说法,在 H2 上,您可以而且实际上应该停止捆绑,因为它毫无用处,并且可以实现更高效的浏览器缓存:

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

我认为缩小或混淆仍然是可取的,具体取决于您的需求。


Sch*_*ien 0

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

  • 脚本缩小和 SPDY 压缩并不相同。一个好的压缩器知道利用局部作用域,并用压缩友好的简短重复名称替换冗长的变量名称。

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

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

  • 通过一个请求加载 10 个文件仍然会在服务器端产生 10 次提取。组合文件可减少磁盘 I/O。

你的问题类似于“既然机器可以运行得更快,我可以少关心编写高效的代码吗?”

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

  • 我认为你关于不缩小/连接文件是“懒惰”的断言是没有帮助的,因为它没有上下文。如果我是从头开始,我认为这是一个公平的选择,但我在一个中大型遗留代码库上工作,业务利益相关者有时间压力,所以(a)实现这些东西并不简单,(b)没有时间/金钱做这些事情。我喜欢做很多事情,但如果 SPDY 能帮助我完成大部分任务,那么我还有更大的事情要做。 (6认同)
  • 考虑到您不是从头开始的情况,使用任何方便的方法来改进产品都是有意义的,即使它是微不足道的。我感受到你的痛苦。抬起头,伙计。 (3认同)