【前端】離線快取
1、HTML5離線快取
離線快取是Html5新特性之一,簡單理解就是第一次載入後將資料快取,在沒有清除快取前提下,下一次沒有網路也可以載入,用在靜態資料的網頁或遊戲比較好用。
使用方式:
(1)引入manifest檔案。
<!DOCTYPE html> <html lang="en" manifest="test.manifest"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> </html>
(2)編寫test.mainfest檔案。
CACHE MANIFEST//必須以這個開頭
version 1.0 //最好定義版本,更新的時候只需修改版本號
CACHE:
a.css
NETWORK:
b.css
FALLBACK:
c.ss a.css
說明:CACHE下面的都是快取的檔案,NETWORK表示每次都從網路請求,FALLBACK:指定的檔案若是找不到,會被重定向到新的地址。注意,第一行必須是”CACHE DMANIFEST”文字,以把本檔案的作用告知瀏覽器,即對本地快取中的資原始檔進行具體設定。
2、離線web應用
要想使web應用程式在離線狀態的時候也能正常工作,就必須把所有構成web應用程式的資原始檔,如HTML檔案、CSS檔案、JavaScript指令碼檔案等放在本地快取中,當伺服器沒有和Internet建立連線時,也可以利用本地快取中的資原始檔正常執行web應用程式。
3、本地快取與瀏覽器網頁快取
(1)本地快取為整個web應用程式服務的,而瀏覽器的網頁快取只服務於單個網頁。任何網頁都具有網頁快取,而本地快取只快取那些指定的快取的頁面。
(2)對於本地快取,我們可以控制對哪些內容進行快取,不對哪些內容進行快取,開發人員還可以利用程式設計的手段來控制快取的更新,利用快取物件的各種屬性、狀態和事件來開發出更加強大的離線應用程式。
4、H5本地儲存
(1)html5本地儲存提供了兩種型別的API介面:sessionStorage和localStorage。sessionStorage在會話期間內有效,而localStorage就儲存在本地,並且資料儲存是永久的,除非使用者或程式對其執行刪除操作。
(2)在安全性方面,localStorage是域內安全的,即localStorage是基於域的,任何在該域內的所有頁面,都可以訪問localStorage資料。但仍然存在一個問題,各個瀏覽器之間的資料是各自獨立的。也就是說,如果在firefox中使用localStorage儲存一組資料,在chrome瀏覽器下無法讀取。
5、離線快取原理
說明:瀏覽器從APPcache中獲取資源及資料,APPcache會訪問伺服器檢視是否有資源更新,沒有則直接返回,有的話先更新下載服務端資源並快取本地,之後更新瀏覽器顯示最新資料。