文章目录
浏览器的储存主要包括:cookie
,localStorage
,sessionStorage
,indexDB
Storage
cookie
cookie已经不建议用于存储。
- 生命周期: 一般由服务器生成,可以设置过期时间
- 每次网络请求都会附加在header中
- 大小一般为4K
安全选项:
- value:用于保存才能用户的登录状态,该值应该加密,不能使用明文标识
- http-only:不能通过js访问cookie,减少XSS攻击
- secure:只能用于https
- same-site:规定浏览器不能在跨域请求中携带cookie,减少CSRF
localStorage
- 生命周期:除非被清理,否则一直在
- 大小一般为5M
- 同步操作
sessionStorage
- 生命周期:页面(Tab)被关闭就清理
- 大小一般为5M
- 同步操作
indexDB
- 生命周期:除非被清理,否则一直在
- 大小无限
- 异步操作
- 受到同源策略的影响
Web SQL
Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs。
核心方法:
- openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对象。
- transaction:这个方法让我们能够控制一个事务,以及基于这种情况执行提交或者回滚。
- executeSql:这个方法用于执行实际的 SQL 查询。