Chrome切换到脚本的串行下载

时间:2015-06-15 21:43:02

标签: javascript node.js google-chrome script-tag

有时(不是每次,但通常)当我在本地开发时,成功下载了数百个JS文件(看起来我们目前正在下载1393个脚本),Chrome将从并行下载文件切换到下载它们串联。

服务器是节点,使用express和模块“serve-static”。我正在使用Chrome 43.0。我正在使用节点0.12.2。我正在使用serve-static 1.9.3。所有文件都是使用常规脚本标记<script src="foobar.js"></script>来请求的。我怀疑这是Chrome问题,因为服务器响应不会更改。但浏览器请求也不会改变,只是他们的时间/顺序。

有什么想法吗?

enter image description here enter image description here

编辑:鉴于此问题似乎是Chrome问题,我已在此处向Chromium提交了错误报告:https://code.google.com/p/chromium/issues/detail?can=2&q=serial%20script%20downloading&colspec=ID%20Pri%20M%20Week%20ReleaseBlock%20Cr%20Status%20Owner%20Summary%20OS%20Modified&id=500948&thanks=500948&ts=1434467876

2 个答案:

答案 0 :(得分:1)

每个浏览器都有一个从任何给定主机一次执行的最大并发请求数,并将排队所有其他请求。大多数浏览器支持每个主机名6个。有关每种浏览器的详细信息,请参阅此处:http://www.browserscope.org/?category=network&v=top

1393是在一个页面上下载的很多脚本。您可能需要查看整个项目架构和文件结构,以最小化那些文件来解决根。

您可以在一个文件或一组文件中查看缩小/压缩您的javascript文件,即使您只有一些javascript文件来优化性能,也应该这样做。

您还可以使用CDN(内容分发网络)来托管部分或全部文件。通过跨不同主机名(即http://host1.com/file1.jshttp://host2.com/file2.js)分发文件,浏览器可以同时从每个主机下载最大并发文件。

答案 1 :(得分:0)

这似乎是Chrome问题,bug-report has been submitted to Chromium here