
文章插圖
一、方式j(luò)avaScript本地緩存的方法我們主要講述以下四種:
- cookie
- sessionStorage
- localStorage
- indexedDB
作為一段一般不超過(guò) 4KB 的小型文本數(shù)據(jù),它由一個(gè)名稱(Name)、一個(gè)值(Value)和其它幾個(gè)用于控制 cookie有效期、安全性、使用范圍的可選屬性組成
但是cookie在每次請(qǐng)求中都會(huì)被發(fā)送,如果不使用 HTTPS并對(duì)其加密,其保存的信息很容易被竊取,導(dǎo)致安全風(fēng)險(xiǎn) 。舉個(gè)例子,在一些使用 cookie保持登錄態(tài)的網(wǎng)站上,如果 cookie被竊取,他人很容易利用你的 cookie來(lái)假扮成你登錄網(wǎng)站
關(guān)于cookie常用的屬性如下:
- Expires 用于設(shè)置 Cookie 的過(guò)期時(shí)間
Expires=Wed, 21 Oct 2015 07:28:00 GMT- Max-Age 用于設(shè)置在 Cookie 失效之前需要經(jīng)過(guò)的秒數(shù)(優(yōu)先級(jí)比Expires高)
Max-Age=604800- Domain指定了 Cookie 可以送達(dá)的主機(jī)名
- Path指定了一個(gè) URL路徑,這個(gè)路徑必須出現(xiàn)在要請(qǐng)求的資源的路徑中才可以發(fā)送 Cookie 首部
Path=/docs# /docs/Web/ 下的資源會(huì)帶 Cookie 首部- 標(biāo)記為 Secure的 Cookie只應(yīng)通過(guò)被HTTPS協(xié)議加密過(guò)的請(qǐng)求發(fā)送給服務(wù)端
關(guān)于cookie的使用如下:
document.cookie = '名字=值';關(guān)于cookie的修改,首先要確定domain和path屬性都是相同的才可以,其中有一個(gè)不同得時(shí)候都會(huì)創(chuàng)建出一個(gè)新的cookieSet-Cookie:name=aa; domain=aa.net; path=/# 服務(wù)端設(shè)置document.cookie =name=bb; domain=aa.net; path=/# 客戶端設(shè)置最后cookie的刪除,最常用的方法就是給cookie設(shè)置一個(gè)過(guò)期的事件,這樣cookie過(guò)期后會(huì)被瀏覽器刪除localStorageHTML5新方法,IE8及以上瀏覽器都兼容
特點(diǎn)
- 生命周期:持久化的本地存儲(chǔ),除非主動(dòng)刪除數(shù)據(jù),否則數(shù)據(jù)是永遠(yuǎn)不會(huì)過(guò)期的
- 存儲(chǔ)的信息在同一域中是共享的
- 當(dāng)本頁(yè)操作(新增、修改、刪除)了localStorage的時(shí)候,本頁(yè)面不會(huì)觸發(fā)storage事件,但是別的頁(yè)面會(huì)觸發(fā)storage事件 。
- 大?。?M(跟瀏覽器廠商有關(guān)系)
- localStorage本質(zhì)上是對(duì)字符串的讀取,如果存儲(chǔ)內(nèi)容多的話會(huì)消耗內(nèi)存空間,會(huì)導(dǎo)致頁(yè)面變卡
- 受同源策略的限制
設(shè)置
localStorage.setItem('username','cfangxu');獲取localStorage.getItem('username')獲取鍵名localStorage.key(0) //獲取第一個(gè)鍵名刪除localStorage.removeItem('username')一次性清除所有存儲(chǔ)localStorage.clear()localStorage 也不是完美的,它有兩個(gè)缺點(diǎn):- 無(wú)法像Cookie一樣設(shè)置過(guò)期時(shí)間
- 只能存入字符串,無(wú)法直接存入對(duì)象
localStorage.setItem('key', {name: 'value'});console.log(localStorage.getItem('key')); // '[object, Object]'sessionStoragesessionStorage和 localStorage使用方法基本一致,唯一不同的是生命周期,一旦頁(yè)面(會(huì)話)關(guān)閉,sessionStorage 將會(huì)刪除數(shù)據(jù)擴(kuò)展的前端存儲(chǔ)方式indexedDB是一種低級(jí)API,用于客戶端存儲(chǔ)大量結(jié)構(gòu)化數(shù)據(jù)(包括, 文件/ blobs) 。該API使用索引來(lái)實(shí)現(xiàn)對(duì)該數(shù)據(jù)的高性能搜索
雖然 Web Storage對(duì)于存儲(chǔ)較少量的數(shù)據(jù)很有用,但對(duì)于存儲(chǔ)更大量的結(jié)構(gòu)化數(shù)據(jù)來(lái)說(shuō),這種方法不太有用 。IndexedDB提供了一個(gè)解決方案
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問(wèn)題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!
「愛(ài)刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助:- 移動(dòng)硬盤(pán)燈亮但不讀取 移動(dòng)硬盤(pán)閃燈但讀不出
- 清理c盤(pán)只留下系統(tǒng)文件步驟 電腦c盤(pán)格式化會(huì)怎樣
- 2021手機(jī)qq文件保存位置 怎么看手機(jī)qq文件位置
- mkv后綴名改mp4的方法 mkv是什么文件格式怎么打開(kāi)
- 不壓縮文件夾設(shè)置密碼 電腦如何設(shè)置文件夾密碼
- windows10強(qiáng)制刪除文件的方法 手機(jī)文件強(qiáng)制刪除工具
- 工人物語(yǔ)4無(wú)法讀取存檔的原因 工人物語(yǔ)4秘籍怎么輸入
- 回收站可以恢復(fù)什么文件 回收站清空了能恢復(fù)嗎?
- 電腦刪除文件找回 電腦誤刪除的文件怎么恢復(fù)
- 解壓文件的軟件哪個(gè)好用怎么打開(kāi) 解壓文件的軟件哪個(gè)好
