說(shuō)一說(shuō)cookie sessionStorage localStorage 區(qū)別?
得分點(diǎn):數(shù)據(jù)存儲(chǔ)位置、生命周期、存儲(chǔ)大小、寫入方式、數(shù)據(jù)共享、發(fā)送請(qǐng)求時(shí)是否攜帶、應(yīng)用場(chǎng)景等。
回答:
Cookie、SessionStorage、 LocalStorage都是瀏覽器的本地存儲(chǔ)。
共同點(diǎn):都是存儲(chǔ)在瀏覽器本地的。
不同點(diǎn):
(1)寫入方式
????Cookie由服務(wù)端寫入;
????SessionStorage和LocalStorage由前端寫入。
(2)生命周期
????Cookie的生命周期是由服務(wù)器端在寫入時(shí)就設(shè)置好的,默認(rèn)的情況下是關(guān)閉瀏覽器后失效;
????SessionStorage的生命周期是僅保持在當(dāng)前頁(yè)面,關(guān)閉當(dāng)前會(huì)話或者瀏覽器后就會(huì)失效;
????LocalStorage的生命周期從寫入就一直存在,除非手動(dòng)刪除。
(3)存儲(chǔ)大小
????Cookie的存儲(chǔ)空間比較小,大概是4KB,一般頁(yè)面最多存儲(chǔ)20條左右信息;
????SessionStorage和LocalStorage存儲(chǔ)空間比較大,大概是5MB。
(4)數(shù)據(jù)共享
????Cookie、SessionStorage和LocalStorage數(shù)據(jù)共享都遵循同源原則,SessionStorage還限制必須是同一個(gè)頁(yè)面。
(5)發(fā)送請(qǐng)求時(shí)是否攜帶
????前端給后端發(fā)送請(qǐng)求時(shí)候會(huì)自動(dòng)攜帶Cookie中的數(shù)據(jù),但是SessionStorage和LocalStorage不會(huì)。
(6)應(yīng)用場(chǎng)景
????Cookie一般用于存儲(chǔ)登錄驗(yàn)證信息SessionID或者token;
????LocalStorage常用于存儲(chǔ)不易變動(dòng)的數(shù)據(jù),減輕服務(wù)器的壓力;
????SessionStorage可以用來(lái)檢測(cè)用戶是否刷新進(jìn)入頁(yè)面,如音樂(lè)播放恢復(fù)進(jìn)度條功能。