从上表可以看到,cookie 已经不建议用于存储。如果没有大量数据存储需求的话,可以使用 localStorage 和 sessionStorage 。对于不怎么改变的数据尽量使用 localStorage 存储,否则可以用 sessionStorage 存储。
对于 cookie,我们还需要注意安全性。
网络请求
cookie 是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密),cookie 数据始终在同源的 http 请求中携带(即使不需要),即会在浏览器和服务器间来回传递。
sessionStorage 和 localStorage 不会自动把数据发给服务器,仅在本地保存。
存储大小
cookie 数据大小不能超过 4k。
sessionStorage 和 localStorage 虽然也有存储大小的限制,但比 cookie 大得多,可以达到 5M 或更大。
有效期(生命周期)
localStorage: 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据;
sessionStorage: 数据在当前浏览器窗口关闭后自动删除。
cookie: 设置的 cookie 过期时间之前一直有效,即使窗口或浏览器关闭
共享
sessionStorage 不能共享,localStorage 在同源文档之间共享,cookie 在同源且符合 path 规则的文档之间共享。
注意:cookies和storage都是无法跨浏览器存在的
PS:
cookie : 会话跟踪技术 客户端
session : 会话跟踪技术 服务端