博客
关于我
Local Storage,Session Storage,IndexedDB,Web SQL,Cookies简介
阅读量:534 次
发布时间:2019-03-08

本文共 1240 字,大约阅读时间需要 4 分钟。

一、概述

Local Storage、Session Storage、IndexedDB 和 Web SQL 是浏览器中常用的前端本地存储技术。需要注意的是,Web SQL 已经被废弃,HTML5 的本地存储主要通过 Local Storage 和 Session Storage 实现。Web Storage 使用简单的键值对存储数据,灵活且方便,但对于大量结构化数据的存储较为困难。为了更高效地管理和检索结构化数据,IndexedDB 是一个理想的选择。

二、Cookie

Cookie 是一种小型的本地数据存储技术,主要用于浏览器和服务器之间的通信。其特点包括:

  • 数据在每次 HTTP 请求中携带,占用一定的流量
  • 可设置路径、域名和过期时间
  • 大小限制为 4KB 左右
  • 数据在关闭浏览器后仍然有效

Cookie 通常用于用户身份认证、购物车功能等场景,但由于其明文传输的特点,存在一定的安全隐患。

三、Local Storage 和 Session Storage

Local Storage 和 Session Storage 是 HTML5 中新增的本地存储 API,主要用于客户端的本地数据存储。

  • Local Storage:数据可以永久保存,除非用户显式清除。适合持久化数据存储,可在所有同源窗口中共享,支持存储至多 5MB 的数据。
  • Session Storage:数据仅在当前会话有效,会话结束后数据会被清除。适合会话级别存储,不支持跨窗口共享,同样可存储至多 5MB 的数据。

四、Cookie 与 Local Storage 与 Session Storage 比较

特性 Cookie Local Storage Session Storage
数据生命期 可设置失效时间,默认关闭浏览器后失效 除非显式清除,否则永久保存 会话级存储,会话结束后清除
存储数据大小 4KB 左右 5MB 左右 5MB 左右
与服务器通信 每次 HTTP 请求携带 不参与服务器通信 不参与服务器通信
易用性 接口较友好,开发者封装后使用方便 接口良好,支持 Object 和 Array 接口良好,支持 Object 和 Array
应用场景 用户登录认证、购物车功能 本地游戏数据存储、购物车替代 表单页拆分、用户体验优化
注意事项 不推荐存储敏感数据 不推荐存储敏感数据 不推荐存储敏感数据

五、IndexedDB

IndexedDB 是一个基于对象仓库的非关系型数据库,适用于存储大量结构化数据。其特点包括:

  • 键值对存储:支持直接存储 JavaScript 对象,主键唯一性要求。
  • 异步操作:不会锁死浏览器,提升用户体验。
  • 支持事务:确保数据一致性,避免部分写入。
  • 同源限制:只能访问当前域名下的数据库。
  • 存储空间大:通常不少于 250MB。
  • 二进制存储支持:可存储 ArrayBuffer 和 Blob 数据。

通过以上技术,我们可以根据不同需求选择合适的存储方案。

转载地址:http://zgsiz.baihongyu.com/

你可能感兴趣的文章
Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)上
查看>>
opencv 模板匹配, 已解决模板过大程序不工作的bug
查看>>
opencv&Python——多种边缘检测
查看>>
opencv&python——高通滤波器和低通滤波器
查看>>
OpenCV-Python接口、cv和cv2的性能比较
查看>>
opencv12-图像金字塔
查看>>
opencv21-像素重映射
查看>>
opencv26-模板匹配
查看>>
opencv27-轮廓发现
查看>>
opencv29-轮廓周围绘制矩形框和圆形框
查看>>
OpenCV3 install tutorial for Mac
查看>>
opencv3-Mat对象
查看>>
opencv30-图像矩
查看>>
opencv32-基于距离变换和分水岭的图像分割
查看>>
opencv4-图像操作
查看>>
opencv5-图像混合
查看>>
opencv6-调整图像亮度和对比度
查看>>
opencv9-膨胀和腐蚀
查看>>
OpenCV_ cv2.imshow()
查看>>
opencv——图像缩放1(resize)
查看>>