提供大型 PDF,我应该设置 content-length 吗?
Serving large PDF, should I set content-length?
我动态创建 pdf 文档并希望在我的处理程序中提供它们。我将 content-type 设置为 application/pdf,它工作正常。我 运行 我的服务器通过 nginx 代理。
我的问题是某些请求会针对同一文档生成很多其他请求。我查看了 headers 并发现它需要分块传输编码。
我的解决方案是设置 content-length,它似乎工作正常。
我想知道这是否足够以及为什么我从来不需要用简单的 html 页面来做。
A comment in the source code says:
If the handler didn't declare a Content-Length up front, we either go into chunking mode or, if the handler finishes running before the chunking buffer size, we compute a Content-Length and send that in the header instead.
如果要避免分块,请设置内容长度。为大响应设置内容长度确实减少了传输的数据量,并且可以减少 HTTP 服务器内的复制。
根据经验,如果在生成响应正文之前已知长度,请设置内容长度。
您的简单 HTML 页面可能小于分块缓冲区大小。如果是这样,则它们没有分块。
我动态创建 pdf 文档并希望在我的处理程序中提供它们。我将 content-type 设置为 application/pdf,它工作正常。我 运行 我的服务器通过 nginx 代理。
我的问题是某些请求会针对同一文档生成很多其他请求。我查看了 headers 并发现它需要分块传输编码。
我的解决方案是设置 content-length,它似乎工作正常。
我想知道这是否足够以及为什么我从来不需要用简单的 html 页面来做。
A comment in the source code says:
If the handler didn't declare a Content-Length up front, we either go into chunking mode or, if the handler finishes running before the chunking buffer size, we compute a Content-Length and send that in the header instead.
如果要避免分块,请设置内容长度。为大响应设置内容长度确实减少了传输的数据量,并且可以减少 HTTP 服务器内的复制。
根据经验,如果在生成响应正文之前已知长度,请设置内容长度。
您的简单 HTML 页面可能小于分块缓冲区大小。如果是这样,则它们没有分块。