我試圖強制瀏覽器緩存不同的資源,如CSS,圖像,js等永遠。瀏覽器從不嘗試刷新圖像/ css是很重要的,因爲在頁面上可能會有成千上萬的小圖像,並且當瀏覽器嘗試刷新它時會轟炸服務器,並且不必要地將頁面保持爲刷新模式。 images/css永遠不會改變請求路徑的變化。如何強制瀏覽器在刷新時不重新請求資源?
現在我有路徑圖像/ CSS設置爲一個腳本通過URL:
"http://example.com/img/get.php?n=someimage.jpg&v=7"
和腳本在發送資源之前發送這些標題:
header("Cache-Control: public");
header("Expires: Tue, 19 Jan 2037 00:00:00 GMT");
header("Last-Modified: Sat, 01 Jan 2000 00:00:00 GMT");
但是,如果刷新按鈕被擊中,則Chrome和Firefox都會重新請求圖像/ css。 Chrome瀏覽器似乎也發送請求,如果您點擊地址欄上的Enter,不像Firefox。
我的問題是爲什麼他們這樣做,因爲過期頭文件應該使其不再執行請求,直到2037年,即使用戶按下刷新。我做錯了什麼,或者錯過了什麼?
我把刷新按鈕稱爲「刷新我的緩存」。如果瀏覽器沒有這樣做,我會生氣! – Stephen 2010-12-21 23:12:07