在HTTP中维护同时连接?

时间:2009-08-05 20:08:21

标签: http long-polling

我需要为Web服务器维护多个活动的长池AJAX连接。

我知道大多数浏览器不允许同时连接到同一台服务器。这就是HTTP 1.1 protocol陈述的内容:

  

使用持久性的客户端   连接应该限制数量   同时连接他们   维护到给定的服务器。一个   单用户客户端不应该维护   与任何超过2个连接   服务器或代理。代理人应该用完   到另一台服务器的2 * N连接   或代理,其中N是数字   同时活跃的用户。这些   准则旨在改进   HTTP响应时间并避免   拥塞。

假设我有2个子域Server1.MyWebSite.Com和Server2.MyWebSite.Com 共享相同的IP地址,我能够同时进行2x2连接吗?

3 个答案:

答案 0 :(得分:1)

看来,同一IP上的不同主机名可以是useful。由于Same Origin Policy而在进行AJAX连接时可能会遇到问题。

修改:根据您的document.domain问题(来自Google's Browser Security Handbook):

  

检查XMLHttpRequest目标不会将document.domain考虑在内 ...

答案 1 :(得分:0)

它将100%依赖浏览器。有些可能基于域名的2连接限制,有些可能基于IP地址。

其他人会让你尽可能多地做。

答案 2 :(得分:0)

浏览器基于IP地址建立连接限制。 所有浏览器都基于指定的FQDN限制。

因此,是的,为您的服务器提供DNS别名是完全没问题的,尽管前面的答案是正确的,XHR将要求您使用该页面的XHR域名,并使用别名下载静态内容(图片等)在页面中。

顺便提一下,现代浏览器通常会将连接限制提高到每个主机6或8个连接。