最直接有效的测试方式是比对同一资源开启和未开启Gzip时的实际传输字节数,重点评估压缩率而非仅判断是否启用;可通过curl响应头、下载完整文件用ls -lh对比、浏览器Network面板验证三步精准测量。

最直接有效的测试方式,是比对同一资源在开启和未开启 Gzip 时的实际传输字节数。重点不是“有没有压缩”,而是“压缩了多少”——这决定了真实带宽节省效果。
用 curl 获取响应头对比 Content-Length
执行两条命令,分别模拟客户端不声明和声明支持 gzip 的请求:
- 不带压缩头(获取原始大小):curl -s -I -H "Accept-Encoding:" https://your-site.com/main.js | grep Content-Length
- 带 gzip 头(获取压缩后大小):curl -s -I -H "Accept-Encoding: gzip" https://your-site.com/main.js | grep -E "(Content-Length|Content-Encoding)"
若返回中同时出现 Content-Encoding: gzip 和明显更小的 Content-Length,说明压缩已生效且有实际体积收益。注意使用 -I 仅取响应头、-s 屏蔽进度条,确保输出干净。
下载完整响应体计算真实压缩率
仅看响应头里的 Content-Length 不够可靠——CDN 或反向代理可能改写该字段。更严谨的做法是下载完整 body 并用 ls -lh 统计字节:
- 下载未压缩版本:curl -H "Accept-Encoding:" -s https://your-site.com/style.css > style.css.raw
- 下载 gzip 版本:curl -H "Accept-Encoding: gzip" -s https://your-site.com/style.css > style.css.gz
- 查看大小:ls -lh style.css.*
例如输出:
-rw-r--r-- 1 user user 124K Oct 2 09:15 style.css.gz
-rw-r--r-- 1 user user 486K Oct 2 09:15 style.css.raw
说明压缩率约 74%,节省了 362KB 传输量。
用浏览器 Network 面板验证终端真实体验
在 Chrome 或 Edge 的 Network 面板中打开一个 JS/CSS 文件,切换到 Headers 标签页,检查两项:
- Response Headers 中是否含 Content-Encoding: gzip
- Size / Transfer Size 行:左侧是解压后大小(Resource Size),右侧是实际传输字节数(Transfer Size)
两者的差值就是用户真实节省的流量。这个视图反映的是浏览器最终收到的数据量,包含 CDN 是否透传、代理是否重写等全链路影响,比服务端日志更贴近真实用户。
别只测 HTML,重点盯住大体积静态资源
首页 HTML 通常很小(几十 KB),而真正影响加载速度的是那些 100–500KB 区间的资源,比如:
- /static/js/app.[hash].js
- /css/main.css
- /api/config.json(如果后端返回 text/json 且启用了 gzip_types)
这些文件才是 Gzip 压缩收益最大的对象。测试时优先选它们,才能准确评估性能提升效果。











