cookie session localStorage
2023-06-16 21:29:28
localStorage
localStorage 中的键值对总是以字符串的形式存储。需要注意,和 js 对象相比,键值对总是以字符串的形式存储意味着数值类型会自动转化为字符串类型。存储在 localStorage 的数据可以长期保留,除非手动删除否则会一直存在。
localStorage 和 sessionStorage 都有以下共同点
- 存储大小均为 5M 左右
- 都有同源策略限制
- 仅在客户端中保存,不参与和服务器的通信
sessionStorage
与存储数据的脚本所在的标签页的有效期是相同的,一旦窗口或者标签页被关闭,那么所有通过 sessionStorage 存储的数据也会被删除。
页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。打开多个相同的 URL 的 Tabs 页面,会创建各自的 sessionStorage
cookie
cookie大小限制为4KB左右
主要用途是保存登录信息和标记用户(比如购物车)等,不过随着localStorage的出现,现在购物车的工作Cookie承担的较少了 一般由服务器生成,可设置失效时间。如果在浏览器端生成Cookie,默认是关闭浏览器后失效 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题 原生API不如storage友好,需要自己封装函数