4

在这里,我使用术语捆绑来指代将 JS 和 CSS 资源连接在一起以减少 HTTP 请求的数量。HTTP/2 解决了最初产生资源捆绑 Web 开发最佳实践的潜在问题(往返时间、资源获取阻塞)。但是,现在广泛部署的 SPDY 有多少与 HTTP/2 共享这些特征?

如果我使用像 CloudFlare 这样的 SPDY 感知 CDN,如果我不需要关心旧客户端,那么捆绑资源还有什么意义吗?

请注意,资源转换可能与捆绑分开进行,这个问题主要是关于响应时间,而不是关于编译代码。

4

1 回答 1

0

与 HTTP/1.1 客户端相比,HTTP/2(及其前身 SPDY,现已逐步淘汰)客户端可以向服务器执行更多的并发请求。

HTTP/1.1 一次只能处理 4 到 8 个并发请求,而 HTTP/2 通常最多可以处理 100 个。

资源捆绑基本上是解决此 HTTP/1.1 限制的一种方法,并且对于 HTTP/2 不再严格需要。

我能想到继续捆绑的唯一原因可能是提高资源的 gzip 压缩效率(但这应该衡量以量化收益 - 如果有的话,它们可能真的很小)或其他应用程序原因。

如果您不关心旧客户端,在典型情况下,您可以在使用启用 HTTP/2 的 CDN 时避免捆绑资源。

这应该可以简化您的 Web 应用程序的构建(不再需要捆绑阶段)而不会损失响应时间,但唯一可以确定的方法是衡量您的具体情况。

于 2015-05-16T13:14:11.940 回答