为什么Comet需要分块编码响应?

Mor*_*eng 3 comet http chunked-encoding

我读了一些关于Comet tech的文章.他们都提到长期HTTP响应应该是Transfer-Encoding:chunked.我想知道为什么它应该被分块编码.如果响应没有分块编码,客户端javascript仍然可以读取并解析响应的文本,对吗?

是否有任何特殊原因可以对Comet响应进行分块编码?

kgi*_*kis 7

在响应完成之前,如果不知道响应的长度,则使用分块编码的响应.空块表示响应结束.这是通知客户端响应结束的唯一方法.

这一切都很适合Comet.您在收到请求时发送第一个块.您还可以在等待操作完成时发送其他"心跳"块.空块将通知客户端响应已完成.