当Web服务器自动压缩输出时,如何设置正确的Content-Length标头?

时间:2010-02-18 10:49:24

标签: php compression webserver gzip discover

关注my previous question,我认为我已将问题缩小到瓶颈:

当网络服务器(apache)自动压缩之后的输出时,如何为PHP中的可下载文件设置Content-Length标头的正确值?

我正在寻找最强大/通用的解决方案。我不太了解输出压缩,但我认为apache有几种可以使用的压缩算法(gzip等?)。因此,从PHP中,我如何自动发现Web服务器使用的压缩,以及如何使用它为文件的文件大小设置正确的Content-Length标头值(在压缩之后)?

3 个答案:

答案 0 :(得分:5)

您不需要指定 Content-Length ,Apache会为您做到这一点。

答案 1 :(得分:0)

也许cletus在 this question 的回答有帮助。

另外,您确定要使用gzip提供下载服务吗? Zipping对于HTML,CSS和JS内容非常有意义,但是如果文件下载量很大,我会将其关闭。

答案 2 :(得分:0)

好的,所以这里的情况是您发出文件下载。我敢打赌,该文件已被压缩以节省一些带宽。

无论如何,如果你的服务器有任何压缩活动,这是不好的,因为它花费时间,因为服务器无法实现更好的压缩,所以为了加快速度,你应该禁用任何文件下载的输出压缩。

试试这些:

apache conf
禁用mod_deflate

的php.ini
output_buffering = Off
output_handler =
zlib.output_compression =关