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