Jon*_*eet 16
它不是HTML的一部分 - 它是HTTP的一部分.
这意味着您可以在确切知道输出的大小之前开始将内容写入输出流.这意味着在开始传输之前,您不必在内存或磁盘上缓冲整个页面(或任何正在传送的内容).
RAD*_*ADA 11
你也需要意识到它的缺点.一些防火墙/防病毒软件希望下载完整的响应,以便他们可以检查它,从而阻止任何未完成的响应块到达客户端.
许多防火墙默认将块编码设置为阻止,尤其是在企业网络上.如果您希望人们能够通过其工作计算机访问您的Web服务,则需要https整个网站(因为无法检查https流量),或者避免分块传输.
我能想到的唯一情况就是https流媒体.如果你不需要流式传输,我觉得这不值得.
在此回应评论,因为我认为这很重要.
网络问题与分块响应非常常见.在我目前的项目中(B2B所以每个客户都在企业网络背后)我估计大约3/4的客户遇到问题.
为了证明/反驳,我设置了一个测试,发送2个相同的响应,一个常规响应和一个chunked(以1秒的间隔流式传输html块3分钟).分块响应始终被阻止(客户观察到空白页面)或累积(客户观察空白页面3分钟,然后完整呈现html).同样的分块响应在https上很好(客户观察到html的增量渲染,间隔为1秒).我在不同的客户/防火墙上运行它.
这是一个已知的问题.您可以阅读websockets,其吸引力的一部分是它们有助于克服这些非常常见的防火墙/代理问题.
| 归档时间: |
|
| 查看次数: |
4714 次 |
| 最近记录: |