浏览器的存储方式有哪些

前言:浏览器本身的存储数据的方式有cookies,sessionstorage,localStroage,indexDB,web SQL

cookies 

  • 存储方式

        4kb,纯文本格式,超过被忽略;

        所以很少被用于存储客户端数据;

  • 存储时间

         可以设置过期时间,expires选项

         会话期cookie浏览器关闭自动清除

         持久性coolkie设置过期时间,到期后清除

  •   可以和服务器对话

         在我们请求服务器的时候,服务器就可能给我们返回cookie

         我们在请求服务器的时候也会带上cookie

         一般检查是否登录是看cookie

  • 可以保存的内容

          key/value;cookie都是以键值对的形式存在

          expires;cookie的最长有效时间,如果没有表示这是一个会话期cookie

           httpOnly;设置了httpOnly属性的cookie,不能使用js读取

           设置cookie,一次只能设置一个cookie

sessionStorage

  • 存储大小

             2.5~10m

  •  存储时间

             页面会话期可用,关闭浏览器消失

             页面刷新和恢复可用

             打开多个相同url的tab页面,会创建各自的session,即不可相互访问

             使用location.href或者window.open来打开另一个同域页面,是可以访问的

                 先操作session再打开才会有

             消除缓冲也会消失

  • 不可以和服务器对话
  • 可以保存任何内容 

                 键值对存储,类似于对象,整数自动转化为字符串

                 所以存储前可以使用JSON.stringify()进行转化

  • 设置sessionStorage

              三种方法都可以

例如window.sessionStroage.setItem('key','value')

localStorage

  •  存储大小

          2.5~10m

  • 存储时间

          永久保存

           手动清除或者清除缓冲

  • 不可以和服务器对话
  • 可以保存任何内容
  • 存储满的情况下仍继续存储并不会覆盖其他的值,而是直接报错( Quotaexceddederroe)

            当前存储的值会被清空

  • 一个页面操作了localStorage同源的页面都可以访问和操作
  • 可以监听同源localStorage的修改(不监听本页面的操作)

       window.addEventListener('storage',function(e){

        console.log('....',e)

})

IndexedDB

  • 存储大小

        大于250mb存

  • 存储时间

         手动删除和更新

  • 不可以和服务器对话
  • 创建一个indexDB数据库
  • 使用window.indexedDB.open('MyTestDatabase')创建一个叫myTestdatabase的数据库,open的函数的结果是一个IDBDatabase对象的实例(接收俩个参数)

         第一个参数为数据库名

        第二个参数为版本号,默认为1,必须整数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值