我们常用的浏览器存储方式主要有两种:cookie和webStorage
cookie
cookie是服务器发到浏览器的一小段数据,会在浏览器下次发起请求时携带者发送到服务器上
cookie的主要作用就是用来记录用户相关的一些状态:
- 会话状态管理(登录状态,购物车等一些需要记录的信息)
- 个性化设置(用户的自定义设置,主题等)
- 浏览器行为跟踪(分析用户行为等)
webStorage
webStorage是HTML5新增的浏览器存储方法,并不是用来取代cookie的,cookie作为HTTP协议的一部分来处理客户端和服务器之间的通信是不可获取的。
webStorage的用途是用来解决本不应该用cookie,却不得不用cookie的本地存储
webStorage的内存容量有5M,cookie只有20k
webStorage提供了两个方法:localStorage和sessionStorage
共同点:
都保存在浏览器端,并且都是同源的,只有协议、域名、端口都相同才能访问
不同点:
- 存储大小:
- cookie的存储空间比较小,只有4k
- localStorage和sessionStorage存储空间有5M
- 有效期不同:
- cookie在到达设置的有效期内是有效的,超过有效期就会失效
- localStorage永久有效,除非手动删除
- sessionStorage会话缓存,关闭浏览器或标签页就会删掉
- 与服务端通信:
- cookie参与服务端通信,每次请求都会将cookie携带在http请求头中
- localStorage和sessionStorage不参与服务端通信