相同点:
都保存在浏览器端,且是同源的(同源:域名、协议、端口号相)
不同点:
1.存储大小不同:
cookies的大小一般为4K.
localStorage、sessionStorage的大小一般为5M.
2.与服务器端的通信:
cookies参与服务器端通信,每次都会携带http的头信息中。(如果使用cookie保存过多数据会带来性能问题)
localStorage、sessionStorage不参与服务器端的通信。
3.有效期不同:
cookies在设置的有效之前有效,当超过有效期便会失效
localStorage的有效期为永久有效,除非你进行手动删除。
sessionStorage在当前会话下有效,关闭页面或者浏览器时会被清空。
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')