当前位置: 首页 > Web与应用 > 正文

这几天偶然间发现,gzip无效了。http header输出的信息中并没有包含gzip,难不成出问题了?

问题具体表现为html,htm和动态格式php等的http头部信息中没有gzip一项输出,但js css等文件却包含gzip。

网址 XXX 检测结果如下:
是否压缩
压缩类型
原始文件大小 126295 字节
压缩后文件大小 35022 字节
压缩率(估计值) 72.27%

 

Header信息
Server nginx
Date Sat, 01 Dec 2012 10:57:17 GMT
Content-Type text/html
Content-Length 126295
Connection keep-alive
Vary Accept-Encoding
Set-Cookie 9de5d_lastvisit=0%091354359437%09%2Findex.php; expires=Sun,01-Dec-2013 10:57:17 GMT; path=/,9de5d_lastpos=index; expires=Sun,01-Dec-2013 10:57:17 GMT; path=/,9de5d_lastvisit=0%091354359437%09%2Findex.php; expires=Sun,01-Dec-2013 10:57:17 GMT; path=/,9de5d_ol_offset=18430; expires=Sun,01-Dec-2013 10:57:17 GMT; path=/,9de5d_ipstate=1354359437; expires=Sun,01-Dec-2013 10:57:17 GMT; path=/

里面并没有找到Content-Encoding: gzip。

 

首先分析的是服务软件,可检查后并没有问题。并且在服务器上测试是正常的。

 

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 30 Nov 2012 14:47:35 GMT
Content-Type: text/html
Content-Length: 28101
Connection: keep-alive
Set-Cookie: 9de5d_lastvisit=141%091354286855%09%2Findex.php; expires=Sat, 30-Nov-2013 14:47:35 GMT; path=/
Content-Encoding: gzip

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 30 Nov 2012 14:52:53 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 6979
Connection: keep-alive
Vary: Accept-Encoding, Cookie
Cache-Control: max-age=3, must-revalidate
WP-Super-Cache: Served supercache file from PHP
Content-Encoding: gzip
Last-Modified: Thu, 29 Nov 2012 10:32:03 GMT

 

这时候将目标锁定为机房的信息检测系统(这东东你懂的),经过分析,是此硬件系统会自动过滤掉http header信息中的Gzip压缩一项,导致输出的内容不包含gzip信息,使其没有被压缩,可以直接被此套系统检测里面的内容。虽然目前很多款所谓的检测系统支持GZIP穿透检测,但估计精准度不高。

 

解决办法:木有。

为什么:你知道的。

 

[整理]信息检测系统/防火墙过滤http header 头部GZIP使GZIP失效:等您坐沙发呢!

发表评论