sessionStorage,localStorage,Cookie的概述和區(qū)別
sessionStorage:
用于本地存儲一個會話(session)中的數(shù)據(jù),這些數(shù)據(jù)只有在同一個會話中的頁面才能訪問并且當(dāng)會話結(jié)束后數(shù)據(jù)也隨之清除蒜埋。因此sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲把介。
localStorage:
用于持久化的本地存儲,除非主動刪除數(shù)據(jù)蟋座,否則數(shù)據(jù)是永遠(yuǎn)不會過期的拗踢。
以上兩者僅在客戶端(即瀏覽器)存儲,不參與服務(wù)器通信向臀。
cookie:
存儲在用戶本地終端上的數(shù)據(jù)巢墅。有時也用cookies,指某些網(wǎng)站為了辨別用戶身份,進(jìn)行session跟蹤而存儲在本地終端上的數(shù)據(jù)券膀,通常經(jīng)過加密君纫。一般應(yīng)用最典型的案例就是判斷注冊用戶是否已經(jīng)登陸過該網(wǎng)站。
區(qū)別:
1.cookie支持的數(shù)據(jù)內(nèi)容小芹彬,8k左右蓄髓。localStorage目前能支持到10M。
2.cookie不能跨域訪問舒帮,作為http請求的一部分双吆,無意中增加寬帶。localStorage会前,客戶端存儲。
3.cookie需要前端開發(fā)者自己封裝setCookie,getCookie.而webStorage擁有setItem, getItem, removeItem, clear等方法匾竿。
應(yīng)用:
使用sessiongStorage存儲方法
sessionStorage[key]=value //保存一個數(shù)據(jù)
sessionStorage.setItem(key,value); //保存一個數(shù)據(jù)
var v = sessionStorage[key] //讀取一個數(shù)據(jù)
var v = sessionStorage.getItem(key);//讀取一個數(shù)據(jù)
sessionStorage.removeItem(key); //刪除一個數(shù)據(jù)
sessionStorage.clear(); //清除所有數(shù)據(jù)
sessionStorage.length; //數(shù)據(jù)數(shù)量
sessionStorage.key(i); //獲取第i個key
使用localStorage存儲方法
localStorage[key]=value //保存一個數(shù)據(jù)
localStorage.setItem(key,value); //保存一個數(shù)據(jù)
var v = localStorage [key] //讀取一個數(shù)據(jù)
var v = localStorage.getItem(key);//讀取一個數(shù)據(jù)
localStorage.removeItem(key); //刪除一個數(shù)據(jù)
localStorage.clear(); //清除所有數(shù)據(jù)
localStorage.length; //數(shù)據(jù)數(shù)量
localStorage.key(i); //獲取第i個key