2014-10-26 41 views
0

爲什麼IE 10 & 11無法加載GZiped內容(js和css)? 當我從支持gzip壓縮的服務器加載頁面時,IE會加載第一個HTML頁面,但無法加載其他js和css文件。在控制檯中顯示錯誤信息,這些錯誤信息表示鏈接到相關GZiped文件的「無效字符」。爲什麼IE 10和11無法加載GZiped內容(js和css)?

這很奇怪,因爲IE正確地發送頭Accept-Encoding:gzip,所以沒有理由相信它不支持壓縮內容。

我也注意到,在IE中沒有其他頁面正在服務gziped內容,因爲它們的響應中沒有頭Content-Encoding:gzip。

我們正在通過AWS S3和CloudFront提供我們的靜態內容,並且由於S3或CloudFront支持即時文件壓縮,因此我們將文件複製。一個GZiped,一個不是。

發生了什麼事情的任何線索?

回答

0

事實證明,問題在於IE以某種方式依賴文件擴展名來知道它正在加載什麼樣的文件,而不是使用http響應Content-Type頭。我們的Gziped文件被命名爲它們的原始文件,但以擴展名.gz結尾(例如,其Gziped版本的file.js和file.js.gz)。我重命名了所有這些文件,並以.gz.js或.gz.css結尾,現在它可以正常工作。