提供大型PDF,我应该设置内容长度?

时间:2017-08-16 15:19:06

标签: http content-length

我动态创建pdf文档,并希望在我的处理程序中提供它们。我将content-type设置为application / pdf,它工作正常。我通过nginx代理运行我的服务器。

我的问题是某些请求会为同一个doc生成大量其他请求。我查看了标题,发现它需要Chunked传输编码。

我的解决方案是设置内容长度,它似乎工作正常。

我想知道它是否足够以及为什么我从来没有用简单的html页面来做它。

1 个答案:

答案 0 :(得分:3)

A comment in the source code says

  

如果处理程序没有预先声明Content-Length,我们要么进入分块模式,要么如果处理程序在分块缓冲区大小之前完成运行,我们计算Content-Length并在头部中发送它。

如果要避免分块,请设置内容长度。为大响应设置内容长度确实会减少传输的数据量,并且可以减少HTTP服务器中的复制。

根据经验,如果在生成响应主体之前已知长度,则设置内容长度。

您的简单HTML页面可能小于分块缓冲区大小。如果是这样的话,他们就没有分块了。