博客
关于我
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/

你可能感兴趣的文章
NFS网络文件系统
查看>>
nft文件传输_利用remoting实现文件传输-.NET教程,远程及网络应用
查看>>
NFV商用可行新华三vBRAS方案实践验证
查看>>
ng build --aot --prod生成文件报错
查看>>
ng 指令的自定义、使用
查看>>
nghttp3使用指南
查看>>
Nginx
查看>>
nginx + etcd 动态负载均衡实践(三)—— 基于nginx-upsync-module实现
查看>>
nginx + etcd 动态负载均衡实践(二)—— 组件安装
查看>>
nginx + etcd 动态负载均衡实践(四)—— 基于confd实现
查看>>
Nginx + Spring Boot 实现负载均衡
查看>>
Nginx + uWSGI + Flask + Vhost
查看>>
Nginx - Header详解
查看>>
Nginx - 反向代理、负载均衡、动静分离、底层原理(案例实战分析)
查看>>
nginx 1.24.0 安装nginx最新稳定版
查看>>
nginx 301 永久重定向
查看>>
nginx css,js合并插件,淘宝nginx合并js,css插件
查看>>
Nginx gateway集群和动态网关
查看>>
Nginx Location配置总结
查看>>
Nginx log文件写入失败?log文件权限设置问题
查看>>