【问题标题】:Maintaining simultaneous connections in HTTP?在 HTTP 中保持同时连接?
【发布时间】:2009-08-05 20:08:21
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: http long-polling


    【解决方案1】:

    似乎同一 IP 上的不同主机名可以是 useful。由于Same Origin Policy,您在建立 AJAX 连接时可能会遇到问题。

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

    检查 XMLHttpRequest 目标不考虑 document.domain...

    【讨论】:

    • 这样的事情能解决prb吗? document.domain = "我的网站。
    【解决方案2】:

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

    其他人会让你随心所欲。

    【讨论】:

      【解决方案3】:

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

      因此,是的,为您的服务器设置一个 DNS 别名是完全可以的,尽管前面的答案是正确的,即 XHR 将要求您为 XHR 使用页面的域名,并使用别名来下载静态内容(图片等)。

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

      【讨论】:

        猜你喜欢
        • 2011-04-28
        • 1970-01-01
        • 2023-01-26
        • 2019-05-17
        • 2015-09-26
        • 2012-10-29
        • 2014-01-04
        • 1970-01-01
        • 2012-12-21
        相关资源
        最近更新 更多