无法判断gzip是否开启

时间:2014-05-07 19:46:21

标签: http browser request gzip frontend

我是一名前端开发人员,我正在网站上进行性能测试。当我运行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压缩?

1 个答案:

答案 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支持:

  • Netscape 6+(Netscape 4-5可以,但有一些错误)。
  • Internet Explorer 5。5(2000年7月)和IE 4(如果设置为HTTP / 1.1。
  • Opera 5+(2000年6月)
  • Lynx 2.6+(1999年之前的某个时间)
  • Firefox 0.9.5 +(2001年10月)
  • Chrome永远
  • Safari永远

N.B。:恕我直言gipz是有帮助的,然后请求正文大小超过3-5 kb。