在 HTTP 中保持同时连接?
我需要维护与 Web 服务器的多个活动长池 AJAX 连接。
我知道大多数浏览器不允许同时连接到同一服务器超过 2 个。 这是 HTTP 1.1 协议 的规定:
使用持久性的客户端 连接数应该限制 同时连接,他们 维护到给定的服务器。 A 单用户客户端不应该维护 与任何设备有超过 2 个连接 服务器或代理。 代理应该用完 到另一台服务器的 2*N 个连接 或代理,其中 N 是代理的数量 同时活跃的用户。 这些 指导方针旨在改进 HTTP 响应时间和避免 拥堵。
假设我有 2 个子域 Server1.MyWebSite.Com 和 Server2.MyWebSite.Com 共享相同的 IP 地址,我是否能够同时建立 2x2 连接?
I need to maintain multiple active long-pooling AJAX connections to the Webserver.
I know that most browsers don't allow more then 2 simultaneous connections to the same server. This is what the HTTP 1.1 protocol states:
Clients that use persistent
connections SHOULD limit the number of
simultaneous connections that they
maintain to a given server. A
single-user client SHOULD NOT maintain
more than 2 connections with any
server or proxy. A proxy SHOULD use up
to 2*N connections to another server
or proxy, where N is the number of
simultaneously active users. These
guidelines are intended to improve
HTTP response times and avoid
congestion.
Supposing that I have 2 sub-domains Server1.MyWebSite.Com and Server2.MyWebSite.Com sharing the same IP address, will I be able to make 2x2 simultaneous connections?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
看来同一 IP 上的不同主机名很有用。 由于同源政策,您在建立 AJAX 连接时可能会遇到问题。
编辑:根据您的 document.domain 问题(来自 Google 浏览器安全手册) :
It does appear that different hostnames on the same IP can be useful. You may run into issues when making the AJAX connections due to Same Origin Policy.
Edit: As per your document.domain question (from Google's Browser Security Handbook):
它将 100% 依赖于浏览器。 有些可能基于域名来限制 2 个连接,有些可能基于 IP 地址。
其他人会让你做你想做的事。
It will be 100% browser dependent. Some might base the 2 connection limit on domain name, some might on IP address.
Others will let you do as many as you like.
否浏览器的连接限制基于 IP 地址。 所有浏览器的限制均基于指定的 FQDN。
因此,是的,在您的服务器上有一个 DNS 别名是完全可以的,尽管之前的答案是正确的,即 XHR 将要求您使用 XHR 页面的域名,并使用别名来下载静态内容(图像、等)在页面中。
顺便说一句,现代浏览器通常会将连接限制提高到每个主机 6 或 8 个连接。
No browser bases its connection limit on IP address. All browsers base the limit on the specified FQDN.
Hence, yes, it would be entirely fine to have a DNS alias to your server, although the earlier answer is correct that XHR will require that you use the page's domain name for XHR, and use the alias to download the static content (images, etc) in the page.
Incidentally, modern browsers typically raise the connection limit to 6 or 8 connections per host.