Cookies與LocalStorage
1. Cookies
- Cookies是Server發(fā)給Browser的一個(gè)字符串囊扳;設(shè)置Cookies要在服務(wù)器端的響應(yīng)頭寫set-cookies: xxx = xxx(name = value); (LocalStorage沒有這個(gè)特點(diǎn))
- 瀏覽器Browser會(huì)保存Cookies在本地;瀏覽器一般不能主動(dòng)刪除Cookie
- 下次請(qǐng)求同樣的域名時(shí)兜看,瀏覽器發(fā)送的請(qǐng)求必須帶上Cookies (LocalStorage無此特點(diǎn))
- Cookies只用于驗(yàn)證身份锥咸,不能用于存儲(chǔ)數(shù)據(jù),應(yīng)該只有一個(gè)ID用于驗(yàn)證细移;各瀏覽器cookie每一個(gè)name:value的值大小在4KB左右
- JS一般不去碰Cookie搏予,應(yīng)該由服務(wù)器自己設(shè)置自己讀取
- Cookie可以在瀏覽器使用JS來設(shè)置;然后讀取(然而實(shí)際并不能作為用戶存儲(chǔ))
2. LocalStorage
//網(wǎng)站存儲(chǔ)用戶的搜索記錄
var localHistory = ['你好', 'Hi', 'jirengu']
window.localStorage.setItem('xxx', localHistory)
- JS所有的內(nèi)存在刷新頁面之后全部消失
- 使用window.localStorage來將數(shù)據(jù)存儲(chǔ)到localStorage中弧轧,數(shù)據(jù)刷新不會(huì)消失(與緩存放在一起)
- 可以使用Chrome開發(fā)者工具application - storage來查看
- localStorage是分域名的雪侥,每一個(gè)域名存儲(chǔ)的大小大概是5MB(不確定)
- 由于讀取命令只能讀取字符串,所以存儲(chǔ)時(shí)要先轉(zhuǎn)換為json格式
var jsonString = json.stringify(searchHistory)
//jsonString是符合json語法的字符串
window.localStorage.setItem('xxx', jsonString)
//在需要的時(shí)候讀精绎,使用getItem讀取字符串
var jsonString = window.localStorage.getItem('xxx')
JSON.parse(jsonString)
- 瀏覽器可以存儲(chǔ)字符串到localStorage速缨,存儲(chǔ)其它必須使用JSON方法先轉(zhuǎn)換為JSON對(duì)象然后解析
- localStorage是瀏覽器給JS的一個(gè)接口,可以讓JS把一些變量存到本地文件或讀(與服務(wù)器無關(guān))
- 在需要記錄用戶偏好時(shí)使用localStorage存儲(chǔ)信息
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者