HTTP块:所有块连续不间断地发送?

时间:2010-01-04 12:30:57

标签: http http-headers chunked-encoding

我可以确定一个分块的HTTP响应会被其他任何内容不间断地发送吗?我需要区分响应(和请求),这不是读取内容长度,看到封闭连接或无身体响应代码的简单情况。

我可以读取每个块,一旦块大小为0,我将只读取一个响应(或请求)吗?也就是说,任何其他响应的一部分是否可能被交错发送?我怀疑 是连续不间断发送的,因为在规范中似乎没有任何类型的标识用于分块传输,那么如何重新组合多个?

最后,如果响应被分块发送,那么客户端是否会发送超过其原始请求的内容?我正在考虑流量控制和错误检查,但这些都是在较低层处理的,所以我怀疑客户端不再发送任何内容。

谢谢!

1 个答案:

答案 0 :(得分:3)

“交错”究竟是什么? HTTP不允许在同一连接上同时发送多个响应。即使使用流水线技术,响应仍然会相互发送。也就是说,在响应任何其他请求之前,您将看到所有块按顺序排列。

至于你的最后一个问题,不,客户不会发送任何超过原始请求的内容。