1)在客戶端第一次輸入url是,伺服器端會返回內容和狀態碼200,表示請求成功,同時會新增乙個「last-modified」的響應頭,表示此檔案在伺服器上的最後更新時間;
2)客戶端第二次請求此url時,客戶端會像伺服器傳送請求頭「if-modified-since」,詢問伺服器該時間之後當前請求內容是否有被修改過,如果伺服器的內容沒有變化,則自動返回http304狀態碼(只要響應頭,內容為空,這樣就節省了網路頻寬)
spring提供的對last-modified機制的支援,只需要實現lastmodified介面,並重寫getlastmodified方法,保證當內容發生改變時返回最新的修改時間即可。
例項: public
class
testclass
implements
lastmodified
return lastmodified;}}
快取驗證Last Modified和Etag的使用
快取工作示意圖 瀏覽器建立乙個請求,然後請求到達本地快取,如果找到了則直接返回給瀏覽器,如果沒有,可能會經過 服務,然後去 快取中去找,如果命中,則直接返回,如果沒有,才會到源伺服器進行請求。在http協議裡面,資料的驗證方式,主要有兩個驗證頭 last modified 和 etag。last m...
快取驗證Last Modified和Etag的使用
快取工作示意圖 在http協議裡面,資料的驗證方式,主要有兩個驗證頭 last modified 和 etag。last modified 配合last modified since或者if unmodified since使用,對比上次修改的時間驗證資源是否需要更新。etag 是乙個更加嚴格的資料...
關於http的Last Modified和ETag
基礎知識 1 什麼是 last modified 在瀏覽器第一次請求某乙個url時,伺服器端的返回狀態會是200,內容是你請求的資源,同時有乙個last modified的屬性標記此檔案在服務期端最後被修改的時間,格式類似這樣 last modified fri,12 may 2006 18 53 ...