2017-08-16 49 views
0

我动态创建PDF文档,并希望在我的处理程序中为他们服务。我将content-type设置为application/pdf,并且工作正常。我通过nginx代理运行我的服务器。服务大型PDF,我应该设置内容长度吗?

我的问题是,有些请求会为同一个文档生成很多其他请求。我看了看标题,发现它想要一个块式传输编码。

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

我不知道这是否足够,为什么我从来没有用简单的HTML页面做。

+0

这可能与你的nginx配置有关。客户不应该在乎它是否被分块。 – JimB

回答

3

A comment in the source code says

如果处理程序没有声明内容长度达阵,我们或者进入分块模式,或者如果处理程序完成分块缓冲区大小运行前,我们计算一个内容 - 长度并将其发送到标题中。

如果你想避免分块,然后设置内容的长度。为较大的响应设置内容长度会减少传输的数据量,并可减少HTTP服务器内的复制。

作为一个经验法则,如果在生成响应主体之前知道长度,则设置内容长度。

您的简单HTML页面可能小于分块缓冲区大小。如果是这样,他们不被分块。

相关问题