1

我可以确定分块的 HTTP 响应不会被其他任何东西中断发送吗?我需要区分响应(和请求),这不是读取内容长度、查看关闭连接或无主体响应代码的简单情况。

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

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

谢谢!

4

1 回答 1

3

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

至于您的最后一个问题,不,客户只发送原始请求以外的任何内容。

于 2010-01-04T14:28:23.423 回答