IE6不能用gzip压缩脚本,一个流毒甚广的谣言
很多人遇到IE6下面脚本不运行的问题,在网上搜索一番后,都会遭遇到这篇流毒甚广的文章
文章作者说“跑到微软那一查,给的答复让我吐血:Do not enable HTTP compression for the script files 请不要对脚本文件开启http压缩 只好在服务器端增加对浏览器的识别代码,如果是ie6,就不压缩脚本文件了 虽然脚本能运行了,可是用户体验就... 哎,我恨ie 6”
唉,说啥好呢?
真相是,微软的答复(http://support.microsoft.com/kb/327286/en-us?sid=64&spid=2073) 里面提供了两个解决方案,其中第一个描述的稍微啰嗦了一点,被这个作者直接忽略掉了。第二个解决方案只有一句话,显然更容易被读懂:
If you use a Cache-Control: no-cache HTTP header to prevent the files from caching, remove that header. In some situations, if you substitute an Expires HTTP header, you do not trigger the problem.
-or-
Do not enable HTTP compression for the script files.
Emu虽然英文比较烂,四级老考不过,为了方便大家还是翻译一下吧,不然又该有人读不下去了。
1.如果你使用了Cache-Control: no-cache 这个 HTTP 头来防止文件被缓存,移除这个头就好了。有些情况下,如果你用一个Expires头来代替(前面这个出问题的http头),(也可以起到相同作用而)不会触发这个问题。
或者
2.不要压缩脚本文件。
个人建议还是考虑第一方案。
本文作为前面一篇翻译文章《压缩,让网络更快》的补充。