cookie蠢笋、session區(qū)別
- cookie 存儲(chǔ)于瀏覽器端,而 session 存儲(chǔ)于服務(wù)端
- cookie 的安全性相比于 session 較弱鳞陨,別人可以分析存放在本地的COOKIE并進(jìn)行COOKIE欺騙
考慮到安全應(yīng)當(dāng)使用session昨寞。 - session 會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上。當(dāng)訪問增多時(shí)厦滤,會(huì)占用服務(wù)器的資源援岩,所以考慮到服務(wù)器性能方面,可以使用cookie
- cookie 存儲(chǔ)容量有限制掏导,單個(gè)cookie 保存數(shù)據(jù)不能超過4k享怀,且很多瀏覽器限制一個(gè)站點(diǎn)最多保存20個(gè)cookie。而對(duì)于 session 趟咆,其默認(rèn)大小一般是1024k
cookie添瓷、sessionStorage、localStorage 異同點(diǎn)
html5 中 webStorage 包含 sessionStorage 和 localStorage
共同點(diǎn):
- 都保存在瀏覽器端忍啸,且是同源的
區(qū)別:
- cookie 數(shù)據(jù)始終在同源的http請(qǐng)求中攜帶仰坦,而 webStorage 不會(huì)再請(qǐng)求中攜帶,僅僅在本地存儲(chǔ)
- 存儲(chǔ)大小區(qū)別计雌,cookie 是4k悄晃,webStorage 可以達(dá)到5M甚至更大
- 數(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í)間之前一直有效反番。
- 作用域區(qū)別:sessionStorage 不在不同的瀏覽器窗口中共享沙热,即使是同一個(gè)頁面叉钥; localStorage 和 cookie 在所有同源窗口是共享的
- Web Storage 支持事件通知機(jī)制,可以將數(shù)據(jù)更新的通知發(fā)送給監(jiān)聽者篙贸。Web Storage 的 api 接口使用更方便投队。
web storage和cookie的區(qū)別
Web Storage的概念和cookie相似,區(qū)別是它是為了更大容量存儲(chǔ)設(shè)計(jì)的爵川。Cookie的大小是受限的敷鸦,并且每次你請(qǐng)求一個(gè)新的頁面的時(shí)候Cookie都會(huì)被發(fā)送過去,這樣無形中浪費(fèi)了帶寬寝贡,另外cookie還需要指定作用域扒披,不可以跨域調(diào)用。
除此之外圃泡,Web Storage擁有setItem,getItem,removeItem,clear等方法碟案,不像cookie需要前端開發(fā)者自己封裝setCookie,getCookie洞焙。
但是Cookie也是不可以或缺的:Cookie的作用是與服務(wù)器進(jìn)行交互蟆淀,作為HTTP規(guī)范的一部分而存在 ,而Web Storage僅僅是為了在本地“存儲(chǔ)”數(shù)據(jù)而生澡匪。
Cookies:服務(wù)器和客戶端都可以訪問熔任;大小只有4KB左右;有有效期唁情,過期后將會(huì)刪除疑苔;
本地存儲(chǔ):只有本地瀏覽器端可訪問數(shù)據(jù),服務(wù)器不能訪問本地存儲(chǔ)直到故意通過POST或者GET的通道發(fā)送到服務(wù)器甸鸟;每個(gè)域5MB惦费;沒有過期數(shù)據(jù),它將保留知道用戶從瀏覽器清除或者使用Javascript代碼移除