通常瀏覽器快取策略分為兩種:強快取和協商快取,並且快取策略都是通過設定http header
來實現的
強快取
強快取可以通過設定兩種expireshttp header
實現:expires
和cache-control
。強快取表示在快取期間不需要請求,state code
為200
expires: wed,
22 oct 201808:
41:00 gmt
expires
是http/1
的產物,表示資源會在wed, 22 oct 2018 08:41:00 gmt
後過期,需要再次請求。並且expires
受限於本地時間,如果修改了本地時間,可能會造成快取失效。從圖中我們可以看到,我們可以將多個指令配合起來一起使用,達到多個目的。比如說我們希望資源能被快取下來,並且是客戶端和**伺服器都能快取,還能設定快取失效時間等一些常見指令的作用協商快取
last-modified 和 if-modified-since
但是last-modified
表示本地檔案最後修改日期,if-modified-since
會將last-modified
的值傳送給伺服器,詢問伺服器在該日期後資源是否有更新,有更新的話就會將新的資源傳送回來,否則返回304
狀態碼。last-modified
存在一些弊端:etag 和 if-none-match
以上就是快取策略的所有內容了,看到這裡,不知道你是否存在這樣乙個疑問。如果什麼快取策略都沒設定,那麼瀏覽器會怎麼處理?對於這種情況,瀏覽器會採用乙個啟發式的演算法,通常會取響應頭中的date
減去last-modified
值的 10% 作為快取時間。前端瀏覽器快取策略
簡單記錄一下瀏覽器快取策略的理解 1,按瀏覽器快取位置來看分為四種 從上到下優先順序依次降低 1 service worker service worker 是執行在瀏覽器背後的獨立執行緒,一般可以用來實現快取功能。這是優先順序最高的快取,並且與其它三種不同,是可定製化的快取,而其它三種只能通過某些...
瀏覽器快取策略
1.三種區別在哪 from memory cache 字面理解是從記憶體中,其實也是字面的含義,這個資源是直接從記憶體中拿到的,不會請求伺服器一般已經載入過該資源且快取在了記憶體當中,當關閉該頁面時,此資源就被記憶體釋放掉了,再次重新開啟相同頁面時不會出現from memory cache的情況 f...
瀏覽器快取策略詳解
1 伺服器會存在大量重複請求 比如我們每次重新整理頁面的時候都會傳送一次請求到伺服器,而多次請求的引數和響應的內容都完全一致,其實這種請求完全就是多餘的,我們完全可以就用上一次的響應內容。2 提高響應的速度 對於重複的請求,我們將響應內容儲存到本地,下一次請求時可以直接返回而無需請求伺服器,那麼會提...