session,cookie,localStorage,sessionStorage

首先,從存儲(chǔ)位置來看,可以分為服務(wù)端存儲(chǔ)和客戶端存儲(chǔ)兩種。

服務(wù)端存儲(chǔ):session
瀏覽器端存儲(chǔ):cookie,localStorage,sessionStorage

cookie、session區(qū)別

存儲(chǔ)位置:cookie 存儲(chǔ)于瀏覽器端,而 session 存儲(chǔ)于服務(wù)端

機(jī)制:cookie 是存儲(chǔ)在瀏覽器里的一小段「數(shù)據(jù)」,而session是一種讓服務(wù)器能識(shí)別某個(gè)用戶的「機(jī)制」,session 在實(shí)現(xiàn)的過程中需要使用cookie。 二者不是同一維度的東西。

安全:cookie 的安全性相比于 session 較弱,別人可以分析存放在本地的COOKIE并進(jìn)行COOKIE欺騙 ,考慮到安全應(yīng)當(dāng)使用session。
性能:session 會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上。當(dāng)訪問增多時(shí),會(huì)占用服務(wù)器的資源,所以考慮到服務(wù)器性能方面,可以使用cookie
存儲(chǔ)大小區(qū)別:cookie 存儲(chǔ)容量有限制,單個(gè)cookie 保存數(shù)據(jù)不能超過4k,且很多瀏覽器限制一個(gè)站點(diǎn)最多保存20個(gè)cookie。而對(duì)于 session ,其默認(rèn)大小一般是1024k
攜帶:cookie 數(shù)據(jù)始終在同源的http請(qǐng)求中攜帶,session給予cookie一個(gè)session id來識(shí)別用戶

cookie、sessionStorage、localStorage 異同點(diǎn)

html5 中 webStorage 包含 sessionStorage 和 localStorage
共同點(diǎn):

都保存在瀏覽器端,(且是同源的)
區(qū)別:

1.存儲(chǔ)大小區(qū)別,cookie 是4k,webStorage 可以達(dá)到5M甚至更大
2.數(shù)據(jù)有效時(shí)間區(qū)別: sessionStorage 僅僅是會(huì)話級(jí)別的存儲(chǔ),它只在當(dāng)前瀏覽器關(guān)閉前有效,不能持久保持;localStorage 始終有效,即使窗口或?yàn)g覽器關(guān)閉也一直有效,除非用戶手動(dòng)刪除,其才會(huì)失效;cookie 只在設(shè)置的 cookie 過期時(shí)間之前一直有效。
3.作用域區(qū)別:sessionStorage 在不同頁面無法共享; localStorage 和 cookie 在所有同源窗口是共享的。
(相同瀏覽器的不同頁面間可以共享相同的 localStorage(頁面屬于相同域名和端口),但是不同頁面或標(biāo)簽頁間無法共享sessionStorage的信息)
4.cookie 數(shù)據(jù)始終在同源的http請(qǐng)求中攜帶,而 webStorage 不會(huì)再請(qǐng)求中攜帶,僅僅在本地存儲(chǔ)
(5.Web Storage 支持事件通知機(jī)制,可以將數(shù)據(jù)更新的通知發(fā)送給監(jiān)聽者。Web Storage 的 api 接口使用更方便。)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容