我主持一個客戶的網站窗口小部件,這將是在網站上的每一頁不同。
要渲染插件,客戶端會在其網頁的腳本標籤。這個腳本標籤是爲網站上的每個頁面加載的,它返回的代碼取決於頁面。
所以,如果這個腳本被緩存的,最終的結果是我們所服務的錯誤頁面的小部件。
現在,當我們所服務的腳本,我們在響應頭
Cache-Control: max-age=0 Expires : 24 hours in the past
設置但有時瀏覽器仍緩存腳本。
問題:
有沒有辦法使用HTTP頭停止緩存在所有情況下,還是我們將不得不採取完全不同的方法的方法嗎?
UPDATE:
該topek推薦大大提高腳本的非可高速緩存的標頭。然而,在使用後退,前進或重新加載按鈕時(同樣在Chrome中,似乎是最有效緩存的緩存),腳本仍然被緩存。如果您確實點擊了它將從服務器獲取的任何內容。
看來,唯一萬無一失的方法阻止緩存將是設置保證爲每個頁面加載不同(通過esilija和TEJS的建議)腳本來源。
爲什麼不直接包括隨機查詢字符串參數傳遞給JS URL請求?或附上日期時間或其他東西? – Tejs
追加一個隨機無意義的查詢字符串..就像這樣:'script.js?14091341049134'。從'+新日期'生成數字,每毫秒更改一次。 – Esailija
如果需要,我們可以做到這一點。然而,我們喜歡只要求我們的客戶包含一個腳本標籤的簡單性。我想我們可以讓他們包含幾行js,它們可以完成你的建議。 – Hersheezy