Linux/Unix Curl:确定网站是否使用Gzip/Deflate
时间:2020-01-09 10:42:12 来源:igfitidea点击:
如何查找使用称为curl的Unix命令行实用工具压缩或者压缩网页?
如何确保mod_deflate或者mod_gzip在Apache Web服务器下正常工作?
压缩内容后,下载速度会更快,因为在许多情况下文件较小,不到原始文件大小的四分之一。
这对于JavaScript和CSS文件(包括html)非常有用,更快的下载可以为最终用户更快地呈现网页。
Apache模块mod_deflate或者mod_gzip提供了DEFLATE输出过滤器,该过滤器允许将服务器的输出压缩后再通过网络发送给客户端。
大多数现代的Web浏览器都支持此功能。
您可以使用curl命令使用以下简单语法来查找网页是否被压缩。
语法
语法为:
curl -I -H 'Accept-Encoding: gzip,deflate' http://example.com
或者curl -s -I -L -H 'Accept-Encoding: gzip,deflate' http://example.com
其中:
- -s不显示进度表或者错误消息。
- -I仅在HTTP标头上工作。
-H'Accept-Encoding:gzip,deflate'
将HTTP发送到服务器时,在请求中发送额外的标头。- 如果服务器报告所请求的页面已移动到其他位置(由Location:标头和3XX响应代码指示),则-L选项将使curl在新位置上重做请求。
http://example.com
您的URL,可以以http或者https开头。
例子
执行以下命令:
curl -I -H 'Accept-Encoding: gzip,deflate' http://www.theitroad.local/
输出示例:
HTTP/1.1 200 OK Server: nginx Date: Tue, 06 Nov 2012 18:59:26 GMT Content-Type: text/html Connection: keep-alive X-Whom: l2-com-cyber Vary: Cookie Vary: Accept-Encoding Last-Modified: Tue, 06 Nov 2012 18:51:58 GMT Cache-Control: max-age=152, must-revalidate Content-Encoding: gzip X-Galaxy: Andromeda-1 X-Origin-Type: DynamicViaDAL
卷曲命令接受编码gzip bash测试功能
创建一个bash shell函数并添加到您的~/.bashrc文件中:
gzipchk(){ curl -I -H 'Accept-Encoding: gzip,deflate' "$@" | grep --color 'Content-Encoding:'; }
或者使用静默模式隐藏进度栏:
gzipchk(){ curl -sILH 'Accept-Encoding: gzip,deflate' "$@" | grep --color 'Content-Encoding:'; }
保存并关闭文件。
重新加载~/.bashrc文件,运行:
$ source ~/.bashrc file
测试gzipchk()如下:
$ gzipchk www.theitroad.local gzipchk http://www.redhat.com