13

我正在使用这个 PHP 代码进行 json 输出。默认情况下apache gzip吗?或者,我该如何检查以确保?

header('Content-type: application/json');
header('Cache-Control: max-age=0,no-cache,no-store,post-check=0,pre-check=0');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
echo json_encode($response);
4

2 回答 2

33

这就是我的诀窍:

(假设您可以访问 apache 配置)

AddOutputFilterByType DEFLATE application/json

我直接在其中添加了这一行/etc/apache2/mods-available/deflate.conf(因此它适用于网络服务器上的每个 json 文件)也许其他地方更适合您的用例(例如,如果您只想为单个 Web 应用程序启用 json 压缩而不是默认情况下)。

编辑:在谷歌浏览器开发者工具中,您可以轻松检查您的内容是压缩还是未压缩:https ://webmasters.stackexchange.com/a/4613

于 2013-11-29T09:57:47.400 回答
2

通常不使用 gzip,您必须自己执行。

在最简单的情况下,您只需要添加以下 php 行:

ob_start("ob_gzhandler");

另请参阅官方php 文档

于 2013-10-08T17:59:45.450 回答