A 302重定向在信息發佈後返回。此重定向用於重新加載當前頁面。IE 302重定向無緩存頭問題
這一切工作正常,但IE瀏覽器增加了無緩存的頭:
Cache-Control: no-cache
我們正在利用魷魚緩存我們的內容,並把這種在頭繞過魷魚。
由於此重定向經常使用(這是無法解決的),這大大增加了我們系統的負載。
Firefox沒有這個問題,它只是簡單的請求重定向頁面而不改變頭部,這正是我們想要的。
有什麼我們可以做的,以阻止IE添加no-cache?
A 302重定向在信息發佈後返回。此重定向用於重新加載當前頁面。IE 302重定向無緩存頭問題
這一切工作正常,但IE瀏覽器增加了無緩存的頭:
Cache-Control: no-cache
我們正在利用魷魚緩存我們的內容,並把這種在頭繞過魷魚。
由於此重定向經常使用(這是無法解決的),這大大增加了我們系統的負載。
Firefox沒有這個問題,它只是簡單的請求重定向頁面而不改變頭部,這正是我們想要的。
有什麼我們可以做的,以阻止IE添加no-cache?
迷人。這確實是一個IE問題,沒有直接的解決方法。問題在於IE會無條件地向HTTP POST請求添加Cache-Control:no-cache請求頭(或者如果有代理,則爲Pragma:no-cache請求頭)。
這在IE十多年前被無疑地引入,以適應那些沒有正確處理HTTP POST請求並且會錯誤地返回緩存響應的錯誤代理服務器。
IE的怪癖是當你重定向時,no-cache頭被重新添加到重定向的請求中。因此,就你的情況而言,你的重定向請求還會發送POST請求中攜帶的「no-cache」請求頭。
不幸的是,這方面沒有直接的解決方法。您可以將IE用戶重定向到使用JavaScript將其重定向回原始頁面的插頁式頁面。 (不要使用META REFRESH,因爲它總是發送no-cache請求)。
聽起來像IE中的一個bug給我。 This discussion聽起來類似。你也許可以嘗試發回301或307的迴應,看看它是否有不同的反應。
這是否發生在非開發機器上? – Liam 2009-01-28 16:35:36
是的,這是在生產環境 – 2009-07-27 10:40:56