【问题标题】:how HTTPS request is handled by IIS serverIIS 服务器如何处理 HTTPS 请求
【发布时间】:2014-01-25 14:52:49
【问题描述】:

我正在尝试了解 HTTP 、 IIS 和 sql server 的工作原理。

我的环境中有一个 IIS 7 服务器,它与 sql 数据库服务器交互。

架构是

Apache ----> IIS -----> SQL server

Apache 是一个反向代理服务器,它将 HTTP 请求发送到 IIS 服务器,并且 IIS 服务器从那里与 SQL 数据库进行交互,通过不同的应用程序池为不同的应用程序连接。

我的查询是Apache服务器是否转发了一些请求并且它已经到达了IIS;之后,如果 Apache 和 IIS 之间的网络有任何丢包;

  • 这对 IIS 和数据库服务器的性能有影响吗?
  • 在 IIS 的工作进程中是否会有任何长时间运行的查询? 因为我关心的是在数据库服务器中成功执行查询后会发生什么。但是,由于 IIS 和 Apache 之间的网络已损坏,它们如何进一步转发到 Apache 并进一步转发给最终用户。
  • 这些查询是否会继续持有资源,直到它们从 IIS 转发到 Apache? 因为它们已成功完成任务,但由于网络问题,它们没有被进一步转发。或者这样的请求是否被 IIS 堆积在某个地方以释放资源用于即将到来的请求?

【问题讨论】:

    标签: sql apache http iis-7


    【解决方案1】:

    一旦请求到达 IIS,它将执行所需的操作,并格式化回复。它会尝试将回复发送给请求者,但如果链接已经消失,它将无法发送。然后它将放弃请求。它为该请求保留的资源将被释放。

    为了获取它为您提供的数据,Apache 必须重复请求。

    【讨论】:

    • 是的,这也是我的理解,但我在这里仍然有点困惑。假设 IIS 在与 sql server 建立的连接上得到了结果。但是如果 IIS 和 Apache 之间的连接断开了;所以直到什么时候这个请求才会出现在 IIS 中,因为它现在已经被孤立了。在 IIS 中是否有任何超时设置,如果它无法在指定的时间内连接到 Apache,那么它会下降吗?并释放资源。
    • 我的理解是它很快。事实上,IIS 可能不知道 Apache 丢失了连接:它可能只是通过 TCP 发送响应而没有任何东西再监听它,所以它只是丢失了 - 这将取决于 TCPIP 套接字的处理方式被实施。不管它完成了,它会很快。
    猜你喜欢
    • 2022-01-13
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    相关资源
    最近更新 更多