Cookie与Web Storage的区别
共同點(diǎn):用于數(shù)據(jù)的存儲(chǔ)。
區(qū)別:
1、是否需要添加到http請(qǐng)求頭?
HTTP Cookie(cookie):在客戶(hù)端存儲(chǔ)會(huì)話信息,要求服務(wù)器對(duì)任意HTTP請(qǐng)求發(fā)送set-cookie HTTP頭作為響應(yīng)的一部分,包含會(huì)話信息。例如set-cookie: name=value。然后瀏覽器會(huì)存儲(chǔ)這樣的會(huì)話信息,并在這之后,通過(guò)為每個(gè)請(qǐng)求添加cookie HTTP頭將信息發(fā)送回服務(wù)器。如cookie:name=value。
Web Storage:無(wú)須將數(shù)據(jù)發(fā)回服務(wù)器。
2、作用范圍
cookie:是綁定在特定域名下的,當(dāng)設(shè)定了一個(gè)cookie后,再給創(chuàng)建它的域名發(fā)送請(qǐng)求時(shí),都會(huì)包含這個(gè)cookie。這個(gè)限制保證了儲(chǔ)存在cookie中的信息只能讓批準(zhǔn)的接受者訪問(wèn),而無(wú)法被其他域訪問(wèn)。
sessionStorage:sessionStorage對(duì)象存儲(chǔ)特定于某個(gè)會(huì)話的數(shù)據(jù),可以跨越頁(yè)面刷新而存在。它綁定于某個(gè)服務(wù)器會(huì)話,所以當(dāng)文件在本地運(yùn)行時(shí)是不可用的。對(duì)多頁(yè)面應(yīng)用有限制,因?yàn)閿?shù)據(jù)只能由最初給對(duì)象存儲(chǔ)數(shù)據(jù)的頁(yè)面訪問(wèn)到。
localStorage:要訪問(wèn)同一個(gè)localStorage對(duì)象,頁(yè)面必須來(lái)自同一個(gè)域名(子域名無(wú)效),使用同一種協(xié)議,在同一個(gè)端口上。
3、容量
cookie:每個(gè)域的cookie總數(shù)是有限的,各個(gè)瀏覽器之間各有不同。例如:
IE6以及更低版本限制每個(gè)域名最多20個(gè)cookie,IE7和之后版本每個(gè)域名最多50個(gè);Firefox限制每個(gè)域最多50個(gè)cookie,Opera限制每個(gè)域最多30個(gè)cookie;Safari和Chrome對(duì)每個(gè)域的cookie數(shù)量限制沒(méi)有硬性規(guī)定。
瀏覽器對(duì)cookie的尺寸也有限制,最好是4095B,尺寸限制影響到一個(gè)域下所有的cookie,而并非每個(gè)cookie單獨(dú)限制。
Web Storage:5MB
4、失效時(shí)間
Cookie:設(shè)置expires來(lái)表示cookie何時(shí)應(yīng)該被刪除的時(shí)間戳。
sessionStorage:存儲(chǔ)特定會(huì)話數(shù)據(jù),在瀏覽器關(guān)閉后立即刪除。
localStorage:數(shù)據(jù)保留到通過(guò)JavaScript刪除或是用戶(hù)清除瀏覽器緩存。
轉(zhuǎn)載于:https://www.cnblogs.com/songya/p/11492105.html
總結(jié)
以上是生活随笔為你收集整理的Cookie与Web Storage的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JS创建对象学习笔记
- 下一篇: 第二周课程总结