Service Worker 是運(yùn)行在瀏覽器背后的獨(dú)立線(xiàn)程,一般可以用來(lái)實(shí)現(xiàn)緩存功能。使用 Service Worker的話(huà),傳輸協(xié)議必須為 HTTPS。因?yàn)?Service Worker 中涉及到請(qǐng)求攔截,所以必須使用 HTTPS 協(xié)議來(lái)保障安全。
Service Worker 實(shí)現(xiàn)緩存功能一般分為三個(gè)步驟:首先需要先注冊(cè) Service Worker,然后監(jiān)聽(tīng)到 install 事件以后就可以緩存需要的文件,那么在下次用戶(hù)訪問(wèn)的時(shí)候就可以通過(guò)攔截請(qǐng)求的方式查詢(xún)是否存在緩存,存在緩存的話(huà)就可以直接讀取緩存文件,否則就去請(qǐng)求數(shù)據(jù)。以下是這個(gè)步驟的實(shí)現(xiàn)
打開(kāi)頁(yè)面,可以在開(kāi)發(fā)者工具中的 Application 看到 Service Worker 已經(jīng)啟動(dòng)了:
在 Cache 中也可以發(fā)現(xiàn)所需的文件已被緩存: