Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Requirejs Require.js和SPDY_Requirejs_Spdy - Fatal编程技术网

Requirejs Require.js和SPDY

Requirejs Require.js和SPDY,requirejs,spdy,Requirejs,Spdy,我知道,对不同的脚本执行许多请求对性能有害,即我的脚本需要30个依赖项,因此require.js将为此发出31个请求。我可以使用require优化器并下载脚本包 如果我使用SPDY并且仍然发出这31个请求,那么多路复用请求的能力是否会帮助我,并且不会对性能造成影响 谢谢使用SPDY时,多路传输请求的功能可能会提高性能 原因是,使用纯HTTP,浏览器通常只能同时发出6个请求(假设所有30个脚本都是从同一个域下载的)。 然后浏览器必须等待至少一次网络往返,才能执行第7次请求。 根据客户端相对于服务器

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

如果我使用SPDY并且仍然发出这31个请求,那么多路复用请求的能力是否会帮助我,并且不会对性能造成影响


谢谢

使用SPDY时,多路传输请求的功能可能会提高性能

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

使用SPDY,由于多路复用,所有30个请求都可以同时发出

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

实现SPDY Push,当您请求与主资源关联的20多个辅助资源时,您可以观察SPDY Push的不同之处


您可以找到Jetty SPDY文档,以及一个演示如何配置SPDY推入式Jetty的示例。

因此,如果我使用SPDY,基本上可以请求获取所有js文件。您能在这里给出一个示例吗?我在这里设置了一个SPDY Nginx文件服务器,但是发现它仍然很慢。我可能猜,由于文件是由RequireJS一个接一个地请求的,所以它可能与普通HTML页面不同,后者是Chrome将所有请求合并到一个页面中。这可能吗?浏览器解析包含30个图像的HTML页面时,不必在找到第一个图像时停止解析。图像请求之间的延迟是由于解析而不是网络造成的。类似地,RequireJS可以并行请求*.js文件,而无需等待下载每个文件。在这些情况下,SPDY由于多路复用而有所帮助,特别是当图像数量较大(例如,超过10个)时。我使用Jetty(我是它的开发人员之一),对Nginx帮助不大。那么你最终做到了吗?不,这只是一个理论问题,因为在浏览器的大部分支持SPDY功能之前,我不想做多个请求来获取资产。我今天尝试了它。当计数大于100时,SPDY中的文件速度似乎略快于HTTP中的文件。对于20个文件,SPDY看起来慢了一些。我在这里记下了一些笔记(但是中文的),也许其中有些是有用的。