相同點(diǎn):
都保存在瀏覽器端,且是同源的(同源:域名困曙、協(xié)議表伦、端口號(hào)相)
不同點(diǎn):
1.存儲(chǔ)大小不同:
cookies的大小一般為4K.
localStorage、sessionStorage的大小一般為5M.
2.與服務(wù)器端的通信:
cookies參與服務(wù)器端通信慷丽,每次都會(huì)攜帶http的頭信息中蹦哼。(如果使用cookie保存過多數(shù)據(jù)會(huì)帶來性能問題)
localStorage、sessionStorage不參與服務(wù)器端的通信要糊。
3.有效期不同:
cookies在設(shè)置的有效之前有效纲熏,當(dāng)超過有效期便會(huì)失效
localStorage的有效期為永久有效,除非你進(jìn)行手動(dòng)刪除锄俄。
sessionStorage在當(dāng)前會(huì)話下有效局劲,關(guān)閉頁面或者瀏覽器時(shí)會(huì)被清空。
4.易用性:
cookies需要程序員自己封裝奶赠,源生的Cookie接口不友好
localStorage鱼填、sessionStorage源生接口可以接受,亦可再次封裝來對(duì)Object和Array有更好的支持
API:
//cookies API
document.cookie='name=xiaoming;expires='+oDate
//localStorage API
localStorage.setItem('a',100)
localStorage.getItem('a')
//sessionStorage API
sessionStorage.setItem('b',100)
sessionStorage.getItem('b')