是否为每个请求打开和关闭HTTP连接?

时间:2012-01-17 05:07:55

标签: http web connection

我有一个F5负载均衡器,可以将流量定向到2个Web服务器,其中一个具有比另一个更高的优先级,因此所有流量都会发送给它。如果优先级较高的服务器出现故障,则意味着所有流量都将被定向到较低优先级的服务器。

我的问题是,如果某人被定向到优先级较低的服务器,因为高优先级服务器已关闭,然后优先级较高的服务器再次恢复,则会将现有连接维护到优先级较低的服务器。

我问,因为我被告知他们将保持连接到较低优先级的服务器,因为TCP连接将保持打开状态。我认为在下载对象时打开和关闭HTTP连接,这样就可以不断创建新连接,并在重新启动时将其定向到高优先级服务器。

1 个答案:

答案 0 :(得分:1)

HTTP连接不一定在每个请求的基础上打开和关闭,事实上对于HTTP / 1.1,默认是连接保持打开,以便多个请求在短时间内完成(例如加载图像时会发生和网页上的脚本)可以省去连接设置和拆卸开销。我会指向rfcs以获取更多相关信息。

现在请注意我的背景不是配置负载均衡器......

  • 如果您的负载均衡器的作用类似于HTTP代理(而不仅仅是一个美化的路由器),因为客户端计算机与负载均衡器具有持久连接并不一定意味着负载均衡器与您的服务器具有持久连接(根据{{​​3}},每个网段应用连接标头。
  • 如果您的负载均衡器配置为执行任何形式的rfc,则连接到较低服务器的客户端可能会将未来的连接粘贴到较低的服务器上。