2015-11-26 44 views
0

缺少緩存標頭時,IE 8的默認緩存行爲是什麼?如果服務器端沒有設置標題,它將如何緩存響應,或者默認情況下它是否遵循no-cache?該連接是安全的,即HTTPS。缺少緩存標頭的IE 8默認緩存行爲

我面對這一問題,我在響應寫字節流並予設定的標頭是 -

response.setContentType(「應用/ PDF;字符集= UTF-8;」);

response.setHeader(「Content-Length」,server.getContentLength()+「」);

response.setHeader(「Content-Disposition」,「attachment; filename = \」「+ fileName +」\「」);

我知道這個事實,如果用戶試圖下載一個文件通過HTTPS連接,防止緩存任何響應頭將導致文件下載過程在Internet Explorer中失敗了,但對我來說緩存沒有頭已經明確指定。然後還IE 8說 -

無法下載。

Internet Explorer無法打開此網站。請求的網站不可用或無法找到。請稍後再試。

我沒有得到它背後的確切原因。所以,我只能猜測IE 8的默認緩存機制。然而,它在IE 9+和其他瀏覽器中工作正常。

回答

0

我找到了確切的原因。它由我們自己的代碼設置,它針對特定請求的每個響應都會執行。因此,現在我知道這些頭文件是由我們設置的,並且在提供導出功能的代碼中,我只是將它們覆蓋以使其適用於IE 8 -

response.setHeader(「Cache-Control」,「」 ); // HTTP 1.1

response.setHeader(「Pragma」,「」); // HTTP 1.0