image.png

cookie localStorage sessionStorage indexDB
容量 4KB 5MB 5MB 没有限制
兼容性 all H5 H5
生命周期 可设置 永久 同网页标签
Api 需要自己封装 已提供 已提供
存储的数据类型 字符串 字符串 字符串 多种
作用域 所有同源窗口共享 所有同源窗口共享 一个标签页
是否异步

cookie

生命周期

  • 设置了过期时间:cookie存储在硬盘上
  • 没有设置过期时间:存在内存中,浏览器关闭则cookie消失

    安全

    可以设置 http-only ,确保只有http可以读取作为 请求内容发送到服务端,不可以通过js 获取

    应用

    主要用来保存登录信息等用户身份信息,需要参与http的通信

    localStorage

    H5新特性

    大小

    单个localStorage的大小受限,可以用多个iframe方式使用多个域名来突破单个页面下localStorage存储数据的最大限制。 但如果一个域名下同时开多个标签,数据的更改不会同步到每个tab上。

    生命周期

    永久,清除浏览器缓存会被清除

    应用

    适用长期保存在本地的数据

    sessionStorage

    H5新特性

    生命周期

    关闭标签或者关掉浏览器,刷新没事,恢复页面数据也会恢复

    应用

    敏感账号一次性登录
    SPA单页面

    indexDB

    indexDB 是非关系型数据库,本质是个二维表,浏览器提供接口可以crud,支持事务,索引等

    生命周期

    分为临时存储永久存储,临时存储当达到数据上限会删除所有数据!