2

我知道对不同的脚本执行许多请求对性能不利,即我的脚本需要 30 个依赖项,因此 require.js 会为此发出 31 个请求。我可以使用 require 优化器并下载脚本包。

如果我使用 SPDY 并且仍然发出这 31 个请求,那么多路复用请求的能力会帮助我吗?不会在性能方面产生差异?

谢谢

4

1 回答 1

2

当您使用 SPDY 时,多路复用请求的能力可能会提高您的性能。

原因是使用纯 HTTP,浏览器通常只能同时发出 6 个请求(假设所有 30 个脚本都将从同一个域下载)。然后浏览器必须等待至少一次网络往返才能执行第 7 个请求。根据您的客户端相对于您的服务器的位置,网络往返可能在 50 毫秒到 500 毫秒的范围内,有时甚至更长。

使用 SPDY,由于多路复用,可以一次发出所有 30 个请求。

此外,实现 SPDY Push 的 SPDY 服务器可能能够将 30 个辅助资源连同对主要资源(通常是 HTML 页面)的初始请求一起向下推送到客户端。

Jetty实现了 SPDY Push,您可以观看此演示,了解当您请求与主要资源关联的 20 多个辅助资源时 SPDY Push 的不同之处。

您可以在此处找到 Jetty SPDY 文档,以及展示如何在 Jetty 中配置 SPDY Push的博客文章。

于 2013-06-13T11:41:56.890 回答