2

我在继承的一些 PHP 代码中遇到了这一行:

header('Content-Encoding: ', true);

查看 MDN 文档中的 Content-Encoding 'true' 不是有效值。它期待像 gzip 或 deflate 这样的东西,不是真的。

我也看了看,如果您将其设置为 true,我看不到 PHP 中的任何特殊行为。

但是,在我正在查看的代码中,这一行具有以下效果:它使正在输出的文件被压缩。它还将一个空的 Content-Encoding 标头添加到 http 响应标头。后者我理解 - 前者不是。

这里有一些使用 PHP 的 ob_gzhandler() 的交互,它已经被调用并且已经正确地将 Content-Encoding 标头正确设置为 gzip。

如果我注释掉这一行,则文件不会被压缩。

似乎正在发生的事情是这样的:

ob_gzhandler()将 Content-Encoding 标头设置为 gzip。然后下一行:header('Content-Encoding: ', true)- 在以某种方式启用先前设置之后调用ob_end_clean()- 但没有此,ob_gzhandler 的先前设置不会“激活”。这有意义吗?

基本上 - 为什么有人想做:

header('Content-Encoding: ', true);?
4

0 回答 0