相同點:
都保存在瀏覽器端,且是同源的(同源:域名、協(xié)議、端口號相)
不同點:
1.存儲大小不同:
cookies的大小一般為4K.
localStorage、sessionStorage的大小一般為5M.
2.與服務(wù)器端的通信:
cookies參與服務(wù)器端通信,每次都會攜帶http的頭信息中。(如果使用cookie保存過多數(shù)據(jù)會帶來性能問題)
localStorage、sessionStorage不參與服務(wù)器端的通信。
3.有效期不同:
cookies在設(shè)置的有效之前有效,當(dāng)超過有效期便會失效
localStorage的有效期為永久有效,除非你進(jìn)行手動刪除。
sessionStorage在當(dāng)前會話下有效,關(guān)閉頁面或者瀏覽器時會被清空。
4.易用性:
cookies需要程序員自己封裝,源生的Cookie接口不友好
localStorage、sessionStorage源生接口可以接受,亦可再次封裝來對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')