【发布时间】:2011-04-21 16:38:12
【问题描述】:
我们收到很多 googlebot 请求。
googlebot 通过11 个 HTTP GET 请求最多请求 11 个不同的文件,所有这些都在一个 TCP/IP 连接中。
这些 GET 请求(都在同一个 TCP/IP 连接中)是否通过服务器处理
- 并行
- 还是按顺序?
还是服务器上的?
- 在这种情况下,nginx如何处理?
感谢您的帮助
【问题讨论】:
我们收到很多 googlebot 请求。
googlebot 通过11 个 HTTP GET 请求最多请求 11 个不同的文件,所有这些都在一个 TCP/IP 连接中。
这些 GET 请求(都在同一个 TCP/IP 连接中)是否通过服务器处理
还是服务器上的?
感谢您的帮助
【问题讨论】:
HTTP 流水线是按顺序进行的。 HTTP 中不支持任何类型的交错。
但是,通过流水线,服务器可能在服务完最后一个请求之前就知道所有请求。理论上,它可以并行执行必要的 I/O。
不过,看起来 nginx 不会这样做。
【讨论】:
这些是 GET 请求吗(都在同一个 TCP/IP 连接)通过 服务器在
并行还是顺序?
按顺序处理。它被称为流水线。流水线是 HTTP/1.1 的一部分,这意味着客户端不需要等待当前请求 在通过持久连接发送下一个请求之前完成。它可以通过同一连接发送多个请求,而无需等待先前请求的响应。请求以 FIFO 方式处理,即客户端可以按顺序发送多个请求,并且服务器应该按照接收请求的顺序对每个请求发送响应。因此,如果您使用的服务器符合 HTTP/1.1,则应按顺序处理。
【讨论】: