一、判断方法
判断一个 Web 服务器是否开启了 Gzip 压缩,可以通过以下几种方式:
方法 1:使用浏览器开发者工具
-
打开浏览器开发者工具:
- 在 Chrome 或其他现代浏览器中,按下
F12
或右键点击页面并选择 检查。
- 在 Chrome 或其他现代浏览器中,按下
-
检查网络请求:
- 转到 Network(网络) 面板。
- 刷新页面(
F5
或Ctrl+R
),捕获网络请求。
-
查看响应头:
- 点击某个资源(如
HTML
、CSS
、JS
文件)。 - 查看右侧 Headers(头部信息),在 Response Headers(响应头) 中检查以下内容:
-
Content-Encoding: gzip
(或者br
、deflate
)。
-
- 如果存在
Content-Encoding
,说明服务器开启了相应的压缩。
- 点击某个资源(如
方法 2:使用在线工具
一些在线工具可以直接检测网站是否启用了 Gzip 压缩:
输入网址后,工具会返回是否启用了 Gzip 以及压缩率。
方法 3:使用命令行工具
如果你有服务器访问权限,可以通过命令行工具检查。
使用 curl
运行以下命令:
curl -I -H "Accept-Encoding: gzip" https://example.com
或者
curl -I --compressed https://example.com
检查响应头中的 Content-Encoding
,如果返回 gzip
,则说明 Gzip 已启用。
补充说明:
在实际使用过程中,发现某些前端有 WAF 的网络,通过 curl -I
的方式检测方式失效,需要真的获取数据,才能判断。这个现象的具体原因不清楚,不知道是 WAF 的原因,还是方法本身的可靠性问题。所以必要时使用以下方法判断:
1、获取压缩资源(方法见后文),看是否确实处于 Gzip 压缩状态;
2、使用抓包工具,通过抓包工具看压缩信息。
二、怎样获取压缩后的资源
curl -H "Accept-Encoding: gzip" https://example.com
Accept-Encoding: gzip
与使用 --compressed
的区别:
-
Accept-Encoding: gzip
Request 中指定这个头信息会获取压缩后的数据 -
--compressed
不仅会获取压缩后的数据,还会自动解压缩
(完)