客户端常用的存储方式有三种:
- localstorage
- sessionstorage
- cookie
localStorage和sessionStorage
localStorage
localStorage 没有时间限制的数据存储,也就是说, localStorage是永远不会过期的,除非主动删除数据。 数据可跨越多个窗口,无视当前会话,在同一个域中 被共同访问、使用。
sessionStorage
针对一个 session 的数据存储,任何一个页面存储的 信息在窗口中同一域下的页面都可以访问它存储的数 据。每个窗口的值都是独立的,它的数据会因窗口的 关闭而丢失,不同窗口间的sessionStorage是不可以共享的。
存储类型
- 数组
- json
- 对象
- 图片
- 脚本
- css样式表
使用场景
- 弱网环境
- 利用本地存储,减少网络请求
作用域
sessionStorage和localStorage作用域限定在文档源,
所以页面必须使用那个同一种协议,来自同一个域名,在同一个端口上。
cookie
区别
- 存储大小
- cookie存储大小4k
- localStorage、sessionStorage存储大小5M,建议最大2.5M,防止内存溢出。
- 兼容性
- cookie兼容性很好
- localStorage、sessionStorage 存在一定的兼容性问题,但不影响正常的使用
- 局限、安全性
- cookie在浏览器和服务器间来回传递,
发送每一个http请求的时候都会出现在http头部
,浪费带宽。 - cookie的使用需要分装方法。
- cookie在浏览器和服务器间来回传递,
原文:大专栏 localstorage、 sessionstorage、 cookie|刘景照的博客