一、什麼是協商緩存 協商緩存是伺服器端的一種緩存策略,服務端提供一種記號,用來判斷客戶端資源和服務端是否一樣。 一致返回304,否則返回200和新資源。 二、如何實現 主要是通過在response header中攜帶相關標識 一種通過last-modified資源的最後修改時間 第一次請求時,伺服器 ...
一、什麼是協商緩存
協商緩存是伺服器端的一種緩存策略,服務端提供一種記號,用來判斷客戶端資源和服務端是否一樣。
一致返回304,否則返回200和新資源。
二、如何實現
主要是通過在response header中攜帶相關標識
一種通過last-modified資源的最後修改時間
第一次請求時,伺服器端會在response header插入last-modified最後修改時間,下一次客戶端請求時在request header攜帶if-modified-since ,對比最後修改時間是否一致,來判定需要返回新數據。
一種通過Etag資源的唯一標識符(一種字元串)
第一次請求時,伺服器端會在response header插入Etag標識符,下一次客戶端請求時在request header攜帶 if-none-match,對比最後修改時間是否一致,來判定需要返回新數據。
例如:
Etag比last-modified更有優勢,last-modified只能支持秒為單位
三、最後瀏覽器的緩存處理機制如下