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

Http 提供大型PDF,我应该设置内容长度吗?,http,content-length,Http,Content Length,我动态创建pdf文档,并希望在我的处理程序中提供它们。我将内容类型设置为application/pdf,效果很好。我通过nginx代理运行服务器 我的问题是,一些请求会为同一个文档生成许多其他请求。我查看了标题,发现它需要一个分块传输编码 我的解决方案是设置内容长度,看起来效果不错 我想知道这是否足够,为什么我从来不需要用简单的html页面来完成它。: 如果处理程序没有预先声明内容长度,我们要么进入分块模式,要么,如果处理程序在分块缓冲区大小之前完成运行,我们计算内容长度并将其发送到头中 如果要

我动态创建pdf文档,并希望在我的处理程序中提供它们。我将内容类型设置为application/pdf,效果很好。我通过nginx代理运行服务器

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

我的解决方案是设置内容长度,看起来效果不错

我想知道这是否足够,为什么我从来不需要用简单的html页面来完成它。

:

如果处理程序没有预先声明内容长度,我们要么进入分块模式,要么,如果处理程序在分块缓冲区大小之前完成运行,我们计算内容长度并将其发送到头中

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

根据经验,如果在生成响应正文之前就知道内容长度,则设置内容长度

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

:

如果处理程序没有预先声明内容长度,我们要么进入分块模式,要么,如果处理程序在分块缓冲区大小之前完成运行,我们计算内容长度并将其发送到头中

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

根据经验,如果在生成响应正文之前就知道内容长度,则设置内容长度


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

这可能与您的nginx配置有关。客户端不应该关心它是否被分块。这可能与您的nginx配置有关。客户不应该关心它是否被分块。