我正在使用这个PHP代码进行json输出。默认情况下,apache 会压缩它吗?或者,我该如何检查以确保?
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);
这就是我的诀窍:
(假设您有权访问 Apache 配置(
AddOutputFilterByType DEFLATE application/json
我直接在 /etc/apache2/mods-available/deflate.conf
中添加了这一行(因此它适用于 Web 服务器上的每个 json 文件(,也许其他地方更适合您的用例(例如,如果您只想为单个 Web 应用程序启用 json 压缩而不是默认(。
编辑:在谷歌浏览器开发人员工具中,您可以轻松检查您的内容是压缩的还是未压缩的:https://webmasters.stackexchange.com/a/4613
通常不使用gzip,您必须自己强制执行。
在最简单的情况下,你只需要添加这个php行:
ob_start("ob_gzhandler");
另请参阅官方 php 文档。