一、Cookie、sessionStorage、localStorage
Cookie
- cookie是存储在本地终端上的一个小型文本文件,主要作用是服务器与客户端会话时记录用户身份的
- cookie的大小一般不超过4K,由一个Name、一个Value构成和Expires(控制cookie的生存期)、Path(web站点可以访问cookie的目录)、Domain(指定可以访问cookie的web站点或者域)、Secure(指定是否使用HTTPS安全协议发送cookie)、HttpOnly(防止客户端通过脚本访问cookie)
- http通信每次都会携带cookie
- 读写通过document.cookie
cookie是服务器发送给客户端的信息,在每次会话中携带,有诸多限制,所以浏览器本身提供了sessionstorage(会话存储)、localStorage(本地存储)两种本地存储方式。这两种方式都不和服务器做交互
sessionStorage
- 随页面的打开和关闭作为生命周期
- 存储大小一般不超过5MB
- 只能存储字符串
- 可以直接使用window对象来读写sesssionStorage
localStorage
- 长久存储,不删除就一直存在
- 大小同sessionStorage,一般不超过5MB
- 只能存储字符串
- 可以直接使用window对象读写
二、使用场景
Cookie
- 一般用来记录会话的信息,如记录会话者身份,记录登录状态
- 做单点登录,免登录一类功能时长用到cookie
- CSRF攻击主要就是针对以cookie记录登陆者身份的一种攻击方式
sessionStorage
- 一般用来做一次会话的本地存储,如存储登录用户的基本信息、登录状态、权限等
- 缓存一些客户端需要的数据
localStorage
- 存储的东西可以长久化存储,以后打开对应域名也能获取到对应的localStorage信息