鍍金池/ 問(wèn)答/Java  PHP  Python  HTML/ 關(guān)于瀏覽器緩存問(wèn)題

關(guān)于瀏覽器緩存問(wèn)題

一張圖片,cache-control的max-age被設(shè)置為一年后,那么也就是說(shuō)這一年內(nèi),瀏覽器會(huì)一直從緩存中取用這張圖片,那么如果服務(wù)器在突然在某一天更新了這張圖片,但是瀏覽器無(wú)從得知,那么服務(wù)器要怎樣讓瀏覽器自動(dòng)更新?

如下圖可以看到,在緩存過(guò)期前,該資源會(huì)一直從緩存取,而不會(huì)請(qǐng)求服務(wù)器

cache1.png

回答
編輯回答
絯孑氣

1.在url的查詢參數(shù)中加入版本參數(shù),例如:
http://url.com/?v=2333
瀏覽器會(huì)因?yàn)閰?shù)不同而向服務(wù)器發(fā)出請(qǐng)求,但是服務(wù)器是不會(huì)管你參數(shù)是不是一樣,只要url是同一個(gè),就會(huì)返回同一個(gè)文件。
2.可以在參數(shù)中加hash=hgfdxjkk.

2017年4月21日 13:02
編輯回答
敢試

Http狀態(tài)碼:304。用以標(biāo)記源站內(nèi)容是否變更。如果沒(méi)有變更,則繼續(xù)使用緩存,如果變更,則重新請(qǐng)求新的內(nèi)容。

2018年8月13日 13:57
編輯回答
若相惜

有兩種辦法,一種是清除瀏覽器中的緩存,重新加載新的圖片(不推薦);另一種是將修改的圖片加上版本號(hào),比如原來(lái)圖片是111.jpg,修改后變成112.jpg,那么圖片名變了,瀏覽器會(huì)重新加載新的圖片。

2017年12月10日 09:54