[英]Service workers and the two caches
我一直假設(雖然沒有看到它明確說明)以下是安裝服務工作者時 HTTPS 請求的路徑:
只是希望有人可以確認這是它的工作原理。
如果使用“內部緩存”是指瀏覽器緩存,則在訪問 Service Worker 緩存后訪問它(您需要將第 2 點與第 3 點交換)。
如果你設置了disable cache
,這將只影響瀏覽器緩存,而不影響 Service Worker。 到達這一點的請求,意味着在 Service Worker 緩存中找不到匹配項,將 go 直接發送到服務器端。
在使用 Service Worker 實現緩存策略時,您可以將瀏覽器緩存視為備用緩存。
您可以在下面找到執行 HTTP 請求時遵循的緩存順序。
您還可以閱讀web.dev 文章,詳細解釋這一點。
@Francesco 鏈接到一篇關於服務人員和 HTTP 請求的文章(參見他的回答中的圖表)。 但事實證明,這張圖是不完整的。 Google Chrome 的渲染引擎 Blink 也有一個緩存,在將請求傳遞給 service worker 之前會先檢查它。 devtools 設置“禁用緩存”禁用 Blink 的緩存。 在這里解釋:
所以實際上有三個緩存,它們是按這個順序傳遞的:1. Blink 的緩存,2. service worker 的緩存(如果實現的話),3. Browser 緩存。 再加上 CDN 中的緩存內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.