何时是浏览器为ajax请求建立的新连接?

时间:2012-02-13 07:07:15

标签: ajax http browser

我注意到,对于我的一些ajax请求,正在使用连接的额外时间,它几乎达到1s左右,这使得请求变慢。一旦发出请求,后续请求就不需要时间来连接建立。但是如果我再无人看管它会再次建立新连接。我无法确定浏览器在哪种情况下建立新连接。我检查了其他网站(gmail,stackoverflow)以验证他们是否ajax请求也建立初始连接,但无法找到任何。有什么方法可以避免这种连接建立?

1 个答案:

答案 0 :(得分:0)

我认为你应该增加你的AJAX请求的超时,这样你的XHR将保持活着更长的时间。当你想要为同一服务重新连接到服务器时,也尝试使用相同的XHR对象(刷新后)但是有时候,如果浏览器在缓存中找到所请求的数据,那么它可能会避免再次请求服务器。另外一个原因可能是每次您的URL被不必要地更改时,浏览器强制需要请求服务器(不太确定)。

<强>更新

var xhr;
xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.timeout = 10000;
xhr.ontimeout = timeoutFired;
xhr.send(null);

有关详细信息,请参阅thisthis