html圖片要如何讓他每次都向伺服器重新請求
目前試過在head裡面加了Pragma no-cache、Cache-Control no-cache、Cache-Control no-store、cache-control max-age=-1、Expires -1、expires Wed, 26 Feb 1997 08:21:57 GMT、或者在url後面加參數、在圖片src後面加亂數皆無效,一定要使用F5重新整理才有效,有辦法在不使用F5重新整理,在網頁開啟後貼上網址直接enter可以讓他去抓最新的圖片,而不適快取圖
貼上(或輸入)網址,以及按下F5,瀏覽器的行為是不一樣的。
如果之前有設過Expire、Cache-Control: public, max-age=xxxx之類的header,那到期之前,在網址列輸入網址按下enter,瀏覽器不會去伺服器檢查資源是否有更動,而是直接從Cache拿。點選連結進入也一樣。
按下F5的話,瀏覽器才會去跟伺服器確認資源是否到期或更動(request header裡面會有if-modified-since或if-none-match等)。沒更動的話伺服器會回覆304(not modified)然後就結束response。到期或是有更動時,伺服器才會真的把資源回傳。如果有設定Expire等,可能會到有更動才會更新到期時間(這個我不是很確定,你自己測試一下看看)。
如果是用Chrome的開發者工具,打開「網路」工具,關掉「Disable cache」後觀察看看。Size那一欄顯示是「(from cache)」的話,那瀏覽器根本沒有去伺服器確認,直接拿cache的。按下F5重新載入,應該會看到一些資源在Status顯示為304。其他瀏覽器的開發者工具應該也類似。