localStorage 和 sessionStorage 都是 HTML5 新的两种浏览器端数据存储方式,统称为 Web Storage。
Cookie(复数形态Cookies)指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。
1. Web Storage 为何产生(Cookie 的缺陷)
1.Cookie 会被附加在每个 HTTP请求中,所以无形中增加了流量。
2.由于在 HTTP 请求中的 Cookie 是明文传递的,所以安全性成问题。(除非用HTTPS)
3.Cookie 的大小限制在4KB左右。对于复杂的存储需求来说是不够用的。
2.三者的区别
Cookie: 分为非持久 Cookie 和持久 Cookie 两种,非持久 Cookie 由浏览器维护,保存在内存中,浏览器关闭后就消失;持久 Cookie 保存在硬盘中,除非到了设置的过期时间或用户手动清除数据,将会一直保存。默认为非持久 Cookie。同源
localStorage: 没有时间限制,直到 js 中调用接口清除或用户手动清除。同源
sessionStorage: 在用户关闭浏览器窗口或关闭浏览器时就会清空。只在当前窗口共享,即使是同网址的另一个 tab 中都是不能共享的。