为什么IE 10&11可以't加载GZiped内容(js和css)

Why IE 10 & 11 can't load GZiped content (js and css)?

本文关键字:内容 GZiped js css 加载 IE amp 为什么 可以      更新时间:2023-09-26

为什么选择IE 10&11无法加载GZiped内容(js和css)?当我从支持gzip压缩的服务器加载页面时,IE加载第一个HTML页面,但无法加载额外的js和css文件。在控制台中显示一个错误,显示链接到有问题的GZiped文件的类似"无效字符"的内容。

这是因为IE正确地发送了标头Accept-Encoding:gzip,所以没有理由相信它不支持压缩内容。

我还注意到,没有其他页面在IE中提供gzip内容,因为它们的响应中没有标题content-Encoding:gzip。

我们从AWS S3和通过CloudFront提供静态内容,由于S3和CloudFront都不支持动态文件压缩,我们的文件被复制。一个是GZiped,一个不是。

有发生什么事的线索吗?

事实证明,问题在于IE在某种程度上依赖于文件扩展名来知道它正在加载什么类型的文件,而不是使用http响应Content-Type标头。我们的Gziped文件的名称与原始文件相同,但以.gz扩展名结尾(例如,其Gziped的版本为file.js和file.js.gz)。我已经重命名了所有这些文件,以.gz.js或.gz.css结尾,现在它可以正常工作了。