前端面试题库

常用的浏览器存储有哪些

cookiesessionStoragelocalStorageindexedDB更新时间:2024-08-24 09:39:45

答案

  • cookie

    1. 大小只有4KB左右
    2. 主要用于保存用户的验证信息
    3. 一般是服务器设置,并且有过期时间,通常为了安全,服务器会设置httpOnly.
    4. 每次都是携带在请求头中,所以cookie保存过多数据会使网络开销变大
  • session storage

    • 大小5M左右
    • 有同源策略限制
    • 仅保存在客户端,不参与和服务器的通信
    • 每次关闭浏览器后数据就会被删除
    • 在同一个浏览器、同一个窗口中的同源文档才能共享数据,就是说同一个tab页中如果有两个同源的iframe,这两个iframe是可以共享sessionStorage的
  • local storage

    • 大小5M左右
    • 有同源策略限制
    • 仅保存在客户端,不参与和服务器的通信
    • 数据永久保存
    • 在同一个浏览器中的同源文档才能共享数据
  • indexedDB

    • 大小在250M以上,甚至没有限制;

    • 有同源策略限制,只能访问自身域名下的数据库;

    • 异步操作,不会锁死浏览器,这点跟localStorage的同步操作有区别;

    • 支持事务,只要操作有一步失败,整个事务就会取消,数据回滚到之前的状态;

    • 支持二进制,除了字符串,还可以存储二进制数据;

评论