一个TCP / IP连接中的多个HTTP GET请求 - 处理并行或顺序

时间:2010-10-06 08:02:35

标签: http nginx tcp

我们收到了很多googlebot请求。

googlebot通过 11 HTTP GET请求请求最多11个不同的文件,所有这些都在单个TCP / IP 连接中。

是通过

中的服务器处理的这些GET请求(全部在同一TCP / IP连接中)
  • parallel
  • 还是按顺序?

或者是服务器吗?

  • 在这种情况下, nginx 如何处理此问题?

thx求助

2 个答案:

答案 0 :(得分:12)

  

是这些GET请求(全部都在同一个   TCP / IP连接)通过。处理   

中的服务器      

平行还是按顺序?

按顺序处理。它被称为流水线。流水线操作是HTTP / 1.1的一部分,这意味着客户端无需等待当前请求 在通过持久连接发送下一个请求之前完成。它可以通过同一连接发送多个请求,而无需等待先前请求的响应。请求以FIFO方式处理,即客户端可以按顺序发送多个请求,并且服务器应该以接收请求的相同顺序向每个请求发送响应。因此,如果您使用的服务器符合HTTP / 1.1标准,则应按顺序处理。

答案 1 :(得分:4)

HTTP流水线按顺序发生。 HTTP中不支持任何类型的交错。

但是,通过流水线操作,服务器可能会在完成最后一个请求之前了解所有请求。从理论上讲,它可以并行执行必要的I / O.

但是看起来nginx不会这样做。

相关问题