我正在编写一个相当大的基于
JavaScript的应用程序,有时甚至有八个(8)AJAX请求同时进行.这是IE6中的一个问题,因为它会杀死其余的请求,我知道这个应用程序是针对现代浏览器的,所以IE6不是问题.
然而,我有一个感觉(没有做任何实际的分析),池化请求可以产生更好的性能.说,一次最多4个请求.
所以,我的问题是,有没有什么好处来调用AJAX请求,或者是在一个接一个地处理一个池的情况下,同时有多个请求同时进行?
我意识到这可能取决于浏览器和Internet连接,但我不确定.
解决方法
IE6不会成为你唯一的问题;其他浏览器也会将并发请求的数量限制在同一个服务器上.
Here’s a good roundup,其中说,截至撰写的默认值为:
Browser HTTP/1.1 HTTP/1.0 ------- -------- -------- IE 6,7 2 4 IE 8 6 6 Firefox 2 2 8 Firefox 3 6 6 Safari 3,4 4 4 Chrome 1,2 6 ? Chrome 3 4 4 Opera 9.63 4 4 Opera 10.00alpha 4 4
除此之外,该文章还有另外两个重要的引语:
It’s possible to reconfigure your browser to use different limits.
和
Note that IE8 automatically drops back to 2 connections per server for users on dialup connections.
…和所有你知道,其他现代浏览器做,或者可能开始这样做与他们的下一个“点”版本.
如果可以的话,肯定会尽量保持长时间的开放连接数量.当然不要长时间保持多个连接的开放.
如果你只是做了很多个人,快速的连接,有时候他们会聚集在一起,你可能希望自己进行序列化,而不是依靠浏览器来实现.代表需要完成的请求的对象队列,以及负责执行这些请求的代码(一次一个).