我知道对不同脚本做很多请求对性能有害,即我的脚本需要30个依赖,所以require.js会提出31个请求。我可以使用require优化器并下载脚本包。
如果我使用SPDY并仍然提出这些请求,那么多路复用请求的能力会帮助我,并且不会在性能方面产生差异吗?
谢谢
答案 0 :(得分:2)
使用SPDY时,多路复用请求的功能可能会提高您的效果。
原因是使用普通HTTP,浏览器通常只能同时发出6个请求(假设所有30个脚本都将从同一个域下载)。 然后浏览器必须等待至少一次网络往返才能执行第7次请求。 根据您的客户在服务器方面的位置,网络往返可以在50毫秒到500毫秒的范围内,有时甚至更多。
使用SPDY,由于多路复用,所有30个请求都可以立即生成。
此外,实现SPDY Push的SPDY服务器可以将30个辅助资源与初始资源(通常是HTML页面)的初始请求一起推送到客户端。
Jetty实施SPDY推送,您可以观看this demo,以查看当您请求与主要资源相关联的20多个辅助资源时SPDY Push所带来的差异。