我是一名前端开发人员,我正在网站上进行性能测试。当我运行YSlow时,它说我应该用gzip压缩组件。
后端的人说压缩已打开,但是当我再次运行YSlow时,仍然会说“F:使用gzip压缩组件”。当我检查元素(在Chrome上)并查看“网络”中的标题时,它会显示:
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
...
Server:nginx/1.4.6 (Ubuntu)
如何判断文件是否被gzip压缩?
答案 0 :(得分:1)
如果浏览器发送Accept-Encoding
标题,它会告诉服务器:“好的,你可以发给我gzip”。服务器如果配置为发送gzip - 发送它。浏览器从2000 - 2001年开始支持gzip,所以现在每个浏览器都支持gzip。您只需配置您的Web服务器。
如果您要在gzip
网络服务器上配置Apache
,请将此代码添加到.htaccess
文件中:
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
如果您使用nginx
作为Web静态服务器,请添加到配置文件:
gzip on;
gzip_comp_level 2;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
# Disable for IE < 6 because there are some known problems
gzip_disable "MSIE [1-6].(?!.*SV1)";
# Add a vary header for downstream proxies to avoid sending cached gzipped files to IE6
gzip_vary on;
P.S。:完整浏览器gzip
支持:
N.B。:恕我直言gipz
是有帮助的,然后请求正文大小超过3-5 kb。