h5的緩存機制


   H5的緩存,大概有localstorage、sessionstorage、cookie和manifest。

 一、LocalStorage

        LocalStorage是永久性的本地緩存,存儲在客戶端的瀏覽器上,除非主動刪除,是不會過期的。LocalStorage采用的是鍵值對的方式進行存儲,存儲方式只能是字符串。存儲內容可以用圖片、json、樣式、腳本等。

        API基本使用方法:

         1、localStorage.setItem() 存儲

         2、localStorage.getItem() 獲取數據,其中使用localStorage.valueOf()獲取全部數據

         3、localStorage.removeItem(key) 刪除數據

         4、localStorage.clear()清空全部數據,localStorage.length 獲取本地存儲數據數量

         5、localStorage.key(N)獲取第N個數據的key鍵值

二、SessionSotrage

       SessionStorage用於本地存儲一個會話中的數據,這些數據只有在同一個會話中的頁面才能訪問並且會話結束,窗口關閉后,數據就會消失。是一種會話級別的存儲。

       SessionStorage與localStorage 的使用方法相似

 三、cookie

       cookie與sessionStorage、localStorage還是有很大不同的。

        1、cookie數據始終在同源的http請求中攜帶,cookie在瀏覽器和服務器端來回傳遞,而localstorage和sessionstorage不會自動把數據傳送給服務器端,僅在本地保存。

        2、存儲大小限制不同,cookie的存儲數據大小要求不能超過4k,每次的http請求都會攜帶cookie,所以保存的數據需要比較小。sessionstorage和localstorage存儲數據大小限制比cookie要大,可以達到5M或者更大,不同瀏覽器設置可能不同。

        3、數據生命周期。cookie的生命周期一般在其設置的過期時間之前有效。而sessionstorage僅在關閉窗口前有效,localstorage持久有效,直到手動刪除。

        4、作用域不同,sessionstorage不在不同瀏覽器中共享,即使是同一頁面也不支持。而localstorage在所有同源窗口中都是共享的,同樣,cookie在所有同源窗口中也是可以共享的。

        5、cookie的數據還有路徑的概念,可以通過設置限制cookie只屬於某個路徑

        6、webstorage 支持事件通知機制,可以將數據更新的通知發送給監聽者。

  四、webstorage 的好處

         1、減少網絡流量:使用webstorage將數據保存在本地中,減少不必要的請求。

         2、快速顯示數據:從本地獲取數據比通過網絡從服務器獲取數據效率更高,因此網頁顯示也比較快;

         3、臨時存儲:很多時候數據只需在用戶瀏覽一組頁面期間使用,關閉窗口后數據就會丟失,使用sessionstorage 比較方便;

         4、不影響網絡效能:因為webstorage只作用在客戶端的瀏覽器,不會占用頻寬。

  五、離線存儲

         H5中添加了離線緩存,通過創建cache mainfest文件,創建應用緩存。

         

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM