離線存儲技術
HTML5提出了兩大離線存儲技術:localstorage與Application Cache,兩者各有應用場景;傳統還有離線存儲技術為Cookie。
經過實踐我們認為localstorage應該存儲一些非關鍵性ajax數據,做錦上添花的事情;
Application Cache用於存儲靜態資源,仍然是干錦上添花的事情;
而cookie只能保存一小段文本(4096字節);所以不能存儲大數據,這是cookie與上述緩存技術的差異之一,而因為HTTP是無狀態的,服務器為了區分請求是否來源於同一個服務器,需要一個標識字符串,而這個任務就是cookie完成的,這一段文本每次都會在服務器與瀏覽器之間傳遞,以驗證用戶的權限。
所以Application Cache的應用場景不一樣,所以使用也不一致。
什么是Application Cache
HTML5引入了應用程序緩存技術,意味着web應用可進行緩存,並在沒有網絡的情況下使用,通過創建cache manifest文件,可以輕松的創建離線應用。
Application Cache帶來的三個優勢是:
① 離線瀏覽
② 提升頁面載入速度
③ 降低服務器壓力
而且主要瀏覽器皆以支持Application Cache,就算不支持也不會對程序造成什么影響
Application Cache離線存儲的應用是什么
乘坐飛機、手機信號弱、去演講的時候可能沒有網絡,這個時候可以使用離線存儲
檢測網絡是否在線
既然我們知道Application Cache是用於當網絡離線的時候讀取緩存在客戶端的文件的,那怎么檢測網絡是否在線呢?
檢測網絡OnLine屬性如下:
if (navigator.onLine == true){ alert("正常上網")
}
else{
alert("無法連接網絡")
}
離線存儲使用方法
瀏覽器端
1.瀏覽器上只需要一個簡單的設置即可,在文檔的 <html> 標簽中包含 manifest 屬性
<html manifest="demo.appcache">
文件擴展名建議為:.appcache。首次訪問網頁緩存在本地的文件,如果下一次如果沒有網,就不走服務器了,就取這個文件清單了
服務器端
1.在服務器添加配置正確的 MIME-type,即 "text/cache-manifest"。必須在 web 服務器上進行配置。
現在應用的還不是特別的廣泛,因為大部分網站都有交互的功能,一但沒有交互功能,網站就成了純展示,意義就不大了。
瀏覽器端.appcache文件清單使用詳解
CACHE MANIFEST CACHE: # 需要緩存的文件列表 style1.css 1.jpg 01.js http://localhost/applicationcache/02.js http://localhost/applicationcache/zepto.js NETWORK: # 不需要緩存的 4.jpg FALLBACK: # 訪問緩存失敗后,備用訪問的資源,第一個是訪問源,第二個是替換文件*.html /offline.html 2.jpg/3.jpg
無網絡后演示圖: