cookie
-- 包含许多个人信息,每次html请求都会携带cookie
- 本身用于浏览器和server通讯(主要功能)
- 被"借用"到本地存储
- 前端可用 document.cookie = '...' 来修改
缺点
- 存储大小,最大4kB
- http 请求时需要发送到服务端,增加请求数据量
- 只能用 documnet.cookie = '...' 来修改,过于简陋
cookie 的添加以及修改(覆盖)
-- 添加(以分号(;)为间隔代表一段信息,一次document.cookie='...'只能保存一段信息)
-- 修改(已存在的key修改值会覆盖,不存在的key会自动添加)
cookie 的删除
-- 通过 JavaScript 删除 cookie (与添加操作相同的是,一次只能删除一段信息)
删除 cookie 非常简单。
删除 cookie 时不必指定 cookie 值:
直接把 expires 参数设置为过去的日期即可:
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
您应该定义 cookie 路径以确保删除正确的 cookie。
如果你不指定路径,一些浏览器不会让你删除 cookie。
localStorage 和 sessionStorage
- localStorage 数据会永久存储,除非代码或手动删除
- sessionStorage 数据只存在于当前会话,浏览器关闭则清空
- 一般用 localStorage 会多些
- html5专门为存储而专门设计,最大可存5M
- API简单易用 setItem getItem
- 不会随着http请求被发送出去
localStorage 和 sessionStorage的数据都是以键值对的方式存储的
--创建数据,value的值类型会自动类型转换为 string 类型
总结:cookie 和 localStorage、sessionStorage的区别
- 容量大小不同
- API易用性不同
- 是否随 http 发送出去