banner
DIYgod

Hi, DIYgod

写代码是热爱,写到世界充满爱!
github
twitter
follow
bilibili
telegram
email
steam
playstation
nintendo switch

Service Workers 實現網站加速和離線緩存

最近看到了 Service Workers 這個東西,它可以根據配置為使用者緩存網站靜態與動態資源:截獲使用者的所有網路請求,根據緩存配置來決定是從緩存還是網路獲取相應資源,從而可以極大提高網頁的載入速度。優點有可定制性高、不需要服務端支持、效果顯著。

最後的效果就是當你第二次訪問我的網站時只會載入大約 80k 的資源(除去 AdSense 的情況下),這其中包括了所有圖片和音頻視頻,這 80k 主要是 HTML 和我使用的 DPlayer 的 API。

sw4

甚至可以在斷開網路時訪問(剪斷網線試試吧):

sw2

當然局限性也是有的:

只支持 HTTPS,因為可以截獲使用者的網路請求,需要在一個安全的環境。

兼容性不太好,點擊查看兼容性報告,目前只有 Chrome Firefox Opera 和部分 Android 瀏覽器 支持。

sw3

使用方法網上有很多教程,這裡不贅述了,推薦這幾篇吧:

使用 service worker+sw-precache 實現網站加速

使用 Service worker 實現加速 / 離線訪問靜態 blog 網站

Service Workers 與離線緩存

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。