【问题标题】:Concurrent Net::HTTP.get to same domain并发 Net::HTTP.get 到同一个域
【发布时间】:2010-11-07 13:43:52
【问题描述】:

作为我的 Ruby on Rails 应用程序的一部分,我需要向外部 Web 服务器执行几个(几十个)Web 请求——所有这些请求都在同一个域中。我知道 Windows 上每个域限制的两个请求,并且知道如何调整它,但是这个应用程序在 CentOS 上运行,我没想到会遇到同样的问题,但我似乎是。

*nix 上是否存在同域限制?如果可以,如何调整?

【问题讨论】:

    标签: ruby-on-rails ruby linux http centos


    【解决方案1】:

    我认为这不是操作系统问题,而是协议问题。

    Http 1.1 只允许对一个主机名同时发出 2 个请求。

    注意:http://one.yourdomain.comhttp://two.yourdomain.com 被视为不同的主机名

    HTH

    【讨论】:

    • sez 谁在哪里?我经常在 Windows 上打破这条规则。
    • 来自 RFC2616, 8.1.4 Practical Considerations “......单用户客户端不应与任何服务器或代理保持超过 2 个连接......” - 不是单用户客户端,没有说必须 - 但 +1 让您记得它是规范的一部分。
    • 它是一个规范,所以我猜 windows 和 *nix 都遵循它。设置代理意味着您正在设置另一个客户端,但您可能也有两个限制。
    【解决方案2】:

    我认为它与 Typhoeus 等其他库一起使用效果更好:Typhoeus 或者,如果您使用 EventMachine:EM-Http-Request 它们都允许多请求并且您应该能够向同一个域发送超过 2 个(至少在 Ubuntu 上是这样)

    【讨论】:

      猜你喜欢
      • 2013-05-27
      • 2016-04-02
      • 2011-03-04
      • 2018-02-08
      • 2015-01-05
      • 2023-03-15
      • 1970-01-01
      • 2016-10-12
      • 1970-01-01
      相关资源
      最近更新 更多