web实现本地缓存的方法
Cookie(或者Cookies)
指一般網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據(通常經過加密)。
cookie一般通過http請求中在頭部一起發送到服務器端。一條cookie記錄主要由鍵、值、域、過期時間、大小組成,一般用戶保存用戶的認證信息。cookie最大長度和域名個數由不同瀏覽器決定。 不同域名之間的cookie信息是獨立的,如果需要設置共享可以在服務器端設置cookie的path和domain來實現共享。瀏覽器端也可以通過document.cookie來獲取cookie,并通過js瀏覽器端也可以方便地讀取/設置cookie的值。
localStorage
是html5的一種新的本地緩存方案,目前用的比較多,一般用來存儲ajax返回的數據,加快下次頁面打開時的渲染速度。
localStorage核心API:
localStorage.setItem(key, value) 設置記錄
localStorage.getItem(key) 獲取記錄
localStorage.removeItem(key) 刪除該域名下單條記錄
localStorage.clear() 刪除該域名下所有記錄 ?
sessionStorage
和localstorage類似,只存儲特定于某個會話的數據,也就是該數據只保存到瀏覽器關閉。api和localstorage相同,實際項目中使用較少。 ? IndexedDB 是在客戶端存儲結構化數據的數據庫(一個為了能夠在客戶端存儲可觀數量的結構化數據),并且在這些數據上使用索引進行高性能檢索的 API。雖然 DOM 存儲 對于存儲少量數據是非常有用的,但是它對大量結構化數據的存儲就顯得力不從心了。IndexedDB 則提供了這樣的一個解決方案。 ??
IndexedDB
分別為同步和異步訪問提供了單獨的 API 。同步 API 本來是要用于僅供 Web Workers 內部使用,但是還沒有被任何瀏覽器所實現。異步 API 在 Web Workers 內部和外部都可以使用,另外瀏覽器可能對indexDB有50M大小的限制,一般用戶保存大量用戶數據并要求數據之間有搜索需要的場景。
application cahce
是將大部分圖片資源、js、css等靜態資源放在manifest文件配置中。當頁面打開時通過manifest文件來讀取本地文件或是請求服務器文件。 ?
離線訪問對基于網絡的應用而言越來越重要。雖然所有瀏覽器都有緩存機制,但它們并不可靠,也不一定總能起到預期的作用。HTML5 使用ApplicationCache 接口可以解決由離線帶來的部分難題。前提是你需要訪問的web頁面至少被在線訪問過一次。 ?
使用緩存接口可為您的應用帶來以下三個優勢:
離線瀏覽 – 用戶可在離線時瀏覽您的完整網站
速度 – 緩存資源為本地資源,因此加載速度較快。
服務器負載更少 – 瀏覽器只會從發生了更改的服務器下載資源。
flash
緩存這種方式基本不用,這一方法主要基于flash有讀寫瀏覽器端本地目錄的功能,同時也可以向js提供調用的api,則頁面可以通過js調用flash去讀寫特定的磁盤目錄,達到本地數據緩存的目的。
總結
以上是生活随笔為你收集整理的web实现本地缓存的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用快速查看电脑如何看电脑使用
- 下一篇: 韩剧里的拌饭怎么做?