我刚刚阅读了关于HTTP pipelining的维基百科文章,从图表中可以看出响应可以在一个连接上同时发送。我是否误解了图表或者这是被允许的?
RFC 2616第8.1.2.2节声明:
“服务器必须按照请求接收的顺序发送其响应。”
虽然这没有明确排除并发响应,但它没有提到需要确保响应不仅与请求的顺序正确地开始,而且还正确地结束。
我也无法想象如何处理并发响应的实际情况 - 客户端如何知道接收到的数据适用于哪个响应?
因此,我的解释是,在处理第一个请求的响应时可以发出其他请求,但客户端不能在同一连接上发送并发请求,服务器也不能发送并发响应。
这样说是否正确? 我在下面附上了一张图表以说明我的解释。
它可以防止我提到的问题发生,但似乎与维基百科中的图表并不完全一致。
“服务器必须按照请求接收的顺序发送其响应。”
虽然这没有明确排除并发响应,但它没有提到需要确保响应不仅与请求的顺序正确地开始,而且还正确地结束。
我也无法想象如何处理并发响应的实际情况 - 客户端如何知道接收到的数据适用于哪个响应?
因此,我的解释是,在处理第一个请求的响应时可以发出其他请求,但客户端不能在同一连接上发送并发请求,服务器也不能发送并发响应。
这样说是否正确? 我在下面附上了一张图表以说明我的解释。
它可以防止我提到的问题发生,但似乎与维基百科中的图表并不完全一致。