我在继承的一些 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);?