Web 存储是指在浏览器客户端存储数据的技术统称,包括 Cookie(与服务端通信)、Web Storage API(localStorage/sessionStorage)和 IndexedDB。

解决的核心痛点:如何在客户端存储数据以提高性能、减少服务器请求、支持离线应用?


核心命题


运行机制

graph TD
    WebStorage["Web 存储"]

    WebStorage --> Cookie["Cookie<br>~4KB 随请求发送"]
    WebStorage --> Local["localStorage<br>5-10MB 持久"]
    WebStorage --> Session["sessionStorage<br>5-10MB 会话"]
    WebStorage --> IndexedDB["IndexedDB<br>无限制 结构化"]

关键区别

特性CookielocalStoragesessionStorageIndexedDB
容量~4KB~5-10MB~5-10MB无限制
随请求发送✅ 自动
有效期可设置永久会话级永久
数据类型字符串字符串字符串结构化对象
API简单同步同步异步
事务不支持不支持不支持支持
用途会话通信客户端存储客户端存储大数据存储

应用场景

  • 适用场景
    • 会话管理:用户登录状态(Cookie)
    • 用户偏好:主题、语言设置(localStorage)
    • 临时状态:表单草稿、会话数据(sessionStorage)
    • 离线应用:缓存大量数据(IndexedDB)
  • 误用
    • 客户端存储用 Cookie:容量小、性能差
    • 存储敏感信息:客户端存储可被查看和篡改

知识图谱

  • 父级概念浏览器 — Web 存储是浏览器的客户端存储能力
  • 子级概念
  • 相关概念
    • Cache API — 资源缓存(Service Worker)

参考延伸