IE6浏览器中的gzip压缩输出问题

添加评论 2010年12月13日

网站为了提供更好的用户体验,我们会想办法提高用户的浏览加载速度。通常会将javascript代码进行gzip压缩后再传输到客户端的浏览器,这样文件大约可以压缩至原来30%-40%的大小。而且目前大部份的浏览器都支持gzip压缩输出,如IE、Firefox 、Chrome等主流浏览器。不过今天在测试代码的时候却发现了一个大问题。在IE6浏览器上会出现javascript脚本执行慢或是页面假死的现象,而在IE8和Firefox上都运行的非常良好,通过ajax请求数据时也会出现数据异常的情况?

到微软官方一查,给的答复令人非常的无语:“请不要对脚本文件开启http压缩”。

没有办法,微软都这么说了,我们只好禁用gzip。具体的解决方法:

tomcat中,编辑conf/server.xml ,在相应的Connector 中禁用gzip,compression=”off”,其他服务器做法类似,禁用gzip就行了,这种做法对所有浏览器发出的请求都禁用了gzip。

<Connector port=”80″ address=”0.0.0.0″ protocol=”HTTP/1.1″

enableLookups=”false” redirectPort=”8443″ acceptCount=”100″

connectionTimeout=”20000″ disableUploadTimeout=”true”

compression=”off”  />

还有一种办法就是在服务器端增加对浏览器的识别代码,如果是IE6及更低版本的IE浏览器就禁用gzip,对其他浏览器启用gzip压缩,可以这样做(我只测试了nginx):

在nginx.conf文件的server节点中加入

gzip on;

gzip_disable “MSIE [1-6]\.”;

个人建议还是考虑第二方案比较好。

PS:看完这篇文章以后,就算是外行人,应该也明白为什么那么多人迫切希望淘汰IE6了。

  1. 还没有评论.想坐沙发?
  1. 还没有 trackbacks
订阅评论