如何检查服务器是否开启了 gzip 压缩

用 GET 请求检查 Content-Encoding: gzip,并区分单个响应与全站压缩。提供 curl 传输大小对比、浏览器检查及 Nginx/Apache 配置示例。

最佳实践
应用程序模块协作插画

一句话回答:看响应头里的 Content-Encoding: gzip——表示这一条响应使用 gzip,不代表全站所有资源都压缩。最快的命令行检查:curl -H "Accept-Encoding: gzip" -D - -o /dev/null https://你的站点,返回头中出现 Content-Encoding: gzip 即压缩生效;注意必须带上 Accept-Encoding 请求头,否则服务器可能返回未压缩版本,造成"没开"的误判。

方法一:curl(最快)

curl -sS -H "Accept-Encoding: gzip" -D - -o /dev/null https://example.com | grep -i content-encoding
# 输出 Content-Encoding: gzip → 已开启

不带 -H "Accept-Encoding: gzip" 的 curl 默认不声明支持压缩,服务器可能返回原文——这是检查时用 curl 最容易犯的错。

想看实际压缩率对比:

curl -sS -H "Accept-Encoding: identity" -o /dev/null -w "%{size_download}\n" https://example.com
curl -sS -H "Accept-Encoding: gzip" -o /dev/null -w "%{size_download}\n" https://example.com

以上比较同一稳定资源的响应体传输大小,须先确认状态码和 Content-Encoding。--compressed 会自动解压,因此其输出再 wc -c 不能测出压缩后大小;HEAD 与 GET 的响应头也可能不同,验证实际传输优先 GET。

方法二:浏览器 DevTools

  1. F12 → Network 面板 → 刷新页面
  2. 点击 HTML/CSS/JS 请求 → Response Headers
  3. 找 Content-Encoding: gzip(或 br,Brotli 压缩也算达标)

Network 的传输大小与资源大小可辅助比较,但缓存命中、响应头开销和浏览器计量口径会影响差值,不应把差值直接当作精确压缩收益。

没开启怎么开

Nginx:

gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;
gzip_min_length 1k;

Apache(mod_deflate):

AddOutputFilterByType DEFLATE text/html text/css application/javascript

注意:JPEG/PNG、视频、WOFF2 等已压缩格式通常不值得再 gzip;SVG 等文本格式则可能受益。CDN 的压缩取决于产品、资源类型和配置,应分别验证边缘与源站响应,不要假定默认已经开启。共享缓存还需正确处理 Vary: Accept-Encoding。

配置确认后,可为这一个资源建立观测云 HTTP 拨测,发送相同的 Accept-Encoding 请求头并检查 Content-Encoding,持续验证后续发布没有改变该资源的压缩行为。

常见问题(FAQ)

Q:Content-Encoding: br 是什么?

A:Brotli 压缩,在某些内容和压缩级别下可能更小,收益须用实际资源比较。浏览器/CDN 是否协商 br 取决于支持情况及配置。gzip 或 br 有其一即算"开了压缩"。

Q:API 的 JSON 响应需要 gzip 吗?

A:适合对足够大的文本 JSON 做评估,收益取决于内容和 CPU 开销,不能保证固定比例。确保 gzip_types 里包含 application/json。

Q:开了 gzip 但 DevTools 里看不到?

A:检查路径上是否有反向代理/CDN 把压缩剥掉或未透传 Accept-Encoding;也可能是 gzip_min_length 设得比你的资源大,小文件不压缩属正常行为。

核查依据

本文依据官方文档核对,示例未在实际业务环境运行;上线前请按部署版本、权限与数据范围验证。


延伸阅读

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台