Apache 2 gzip json默认输出吗?

时间:2013-10-08 17:55:25

标签: php apache gzip

我正在将这个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);

2 个答案:

答案 0 :(得分:28)

这就是我的诀窍:

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

AddOutputFilterByType DEFLATE application/json

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

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

答案 1 :(得分:2)

通常不使用gzip,你必须自己强制执行。

在最简单的情况下,你只需要添加这个php行:

ob_start("ob_gzhandler");

另见官方php documentation