從快取位置上來說分為四種,並且各自有優先順序,當依次查詢快取且都沒有命中的時候,才會去請求網路service worker
service worker 的快取與瀏覽器其他內建的快取機制不同,它可以讓我們自由控制快取哪些檔案、如何匹配快取、如何讀取快取,並且快取是持續性的. 如果我們沒有在 service worker 命中快取的話,會根據快取查詢優先順序去查詢資料。但是不管我們是從 memory cache 中還是從網路請求中獲取的資料,瀏覽器都會顯示我們是從 service worker 中獲取的內容memory cache(記憶體中的快取)
讀取記憶體中的資料肯定比磁碟快。但是記憶體快取雖然讀取高效,可是快取持續性很短,會隨著程序的釋放而釋放。disk cache(硬碟中的快取)
讀取速度慢點,但是什麼都能儲存到磁碟中,比之 memory cache 勝在容量和儲存時效性上。 並且即使在跨站點的情況下,相同位址的資源一旦被硬碟快取下來,就不會再次去請求資料。push cache
push cache 是 http/2 中的內容,當以上三種快取都沒有命中時,它才會被使用。並且快取時間也很短暫,只在會話(session)中存在,一旦會話結束就被釋放。
頻繁變動的資源
對於頻繁變動的資源,首先需要使用 cache-control: no-cache 使瀏覽器每次都請求伺服器,然後配合 etag 或者 last-modified 來驗證資源是否有效。這樣的做法雖然不能節省請求數量,但是能顯著減少響應資料大小。**檔案
2020前端面試(二) 瀏覽器快取機制篇
點這裡,歡迎關注 3.2協商快取 4.瀏覽器的快取機制 5.實際場景中的快取策略應用 瀏覽器的快取機制即是http的快取機制,因為其完全是由http來控制的。service worker 單獨的乙個執行緒,用來實現快取功能 memory cache 記憶體中的快取 容量小,儲存時間短 disk ca...
前端快取 瀏覽器快取機制
瀏覽器第一次向伺服器發起該請求後拿到請求結果後,將請求結果和快取標識存入瀏覽器快取,瀏覽器對於快取的處理是根據第一次請求資源時返回的響應頭來確定的。瀏覽器中的快取作用分為兩種情況,一種是需要傳送http請求,一種是不需要傳送。expires 即過期時間 expires max age 請求時間 存在...
前端之瀏覽器快取機制
很早就想梳理一下瀏覽器的快取機制了,一直沒有時間,實際是上懶啦 你知道的,人都有惰性,本大神只是個假神o o,也不例外。難得今天較為清閒,還是借鑑一下成功人的經驗,梳理一下吧,好記性不如爛筆頭,說不定哪次面試遇到了呢 在前端開發中,效能是乙個永恆的話題,沒有最好,只有更好。判斷乙個 效能好壞,乙個直...