IE<=8 下載或者讀取錄音文件的問題

下面的問題發生的前提是你的請求爲HTTPS java

今天碰到一個很是糾結的問題,衆所周知IE調試bug最痛苦不過。 spring

有一段代碼以前工做的好好的,這兩天就不行了,可是在我本地運行沒有問題,部署到服務器就不行,查了一下午都沒有解決。 緩存

狀況醬子的,原本要從後臺要輸出一個文件流,用來下載或者播放錄音文件,可是IE卻不能讀取。開始覺得是誰改動了後臺的音頻轉換程序,發現沒人動過。 服務器

我就找啊找啊,對比當前文件和以前的到底什麼區別,直到最後人都瘋了! post

今天有同事告訴我說他們在spring中加了一個filter,就是對普通的數據請求加了no-cache,也就是說對於全部的action請求禁用緩存。 spa

最終的結果證實就是因爲這個緣由致使了IE不能存文件,播放音頻文件也是同理。 調試

上面說的問題只有在https下才發生! code

解決方式:在你的反饋中添加 blog

response.setHeader("Pragma", "public");
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
對於小文件你也能夠這樣:

response.setHeader("Pragma", "public");
response.setHeader("Cache-Control", "maxage=3600");

外國友人也有相關說明 http://blogs.msdn.com/b/ieinternals/archive/2009/10/03/internet-explorer-cannot-download-over-https-when-no-cache.aspx internet-explorer

特此記錄,順便發下牢騷,你DY的IE!

相關文章
相關標籤/搜索