【问题标题】:IIS6 HTTP request prioritizationIIS6 HTTP 请求优先级
【发布时间】:2010-06-04 04:12:05
【问题描述】:

我正在向运行 IIS6 的外部服务器提交 POST 请求。这是一个时间紧迫的请求,我想确保在特定时间(比如上午 10:00:00)处理我的请求。没有更早。而且我想确保在那个特定时间,我的请求被分配到高于其他请求的最高优先级。这些有什么帮助吗:

  • 提前几秒钟发送大部分消息,并在 10:00:00 之前几毫秒左右发送最后一个字节。不确定这是否会有所帮助,因为我将与那个时候出现的其他请求竞争。 IIS 会根据我的连接时间为我的请求分配更高的优先级吗?
  • 我可以添加到消息标头中以告诉服务器将我的请求排队并仅在特定时间处理吗?

我可以利用任何已知的黑客攻击吗?

【问题讨论】:

    标签: http iis iis-6


    【解决方案1】:

    否 - HTTP 不是实时协议。它通常运行在不是实时协议的 TCP/IP 之上。虽然您可以从这样的架构中获得近乎实时的行为,但它远非简单 - 不要相信我的话 - 请阅读 xntpd 的源代码。

    话虽如此,您没有详细说明您需要的实际精度水平 - 但您的帖子暗示它可能长达一秒钟 - 这对于向网络服务器提交请求来说是一个很长的时间。另一方面,安排这样一个事件以这种精度级别触发客户端非常困难 - 我没有尝试在 MSWindowsNT 上测量调度程序的准确性,但在其他地方我只希望它准确到大约 5 分钟.因此,您需要安排作业提前 5 分钟开始,然后每次休眠 10 毫秒,直到目标时间到来。

    但话又说回来,想想为什么你需要以任何时间精度运行任何工作,让我觉得你试图以错误的方式解决问题。

    C.

    【讨论】:

      【解决方案2】:

      听起来您需要更多的调度程序系统,然后尝试使用 http。 HTTP 是一种无状态协议,你向 IIS 发送一个请求,你就会得到一个响应。

      您可能需要考虑的是接受该请求,然后将您需要的信息存储在某处(数据库)。然后使用某种调度程序(cronjobs、计划任务)在所需时间操作该信息。

      你想要的,你可能无法用 IIS 实现,这不是它的设计目的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多