Cookie & sessionStorage & localStorage
Cookie sessionStorage localStorage 都是页面存储相关的东西,了解了一下
Cookie
特点
- 大小 4k
- cookie 一般是由服务器生成,有过期时间
- 没有过期时间默认关闭浏览器清除
- 参与通信,一般放在 http 请求头部
浏览器设置 cookie
// 读取cookie
const allCookie = document.cookie
// 设置cookie
document.cookie = cookieString
cookieString 说明:
- 格式: "key=value;path=path;domain=domain;max-age=max-age-in-seconds;expires=date-in-GMTString-format;secure"
- path: (例如 '/', '/mydir') 如果没有定义,默认为当前文档位置的路径。
- domain: (例如 'example.com', 'subdomain.example.com') 如果没有定义,默认为当前文档位置的路径的域名部分。与早期规范相反的是,在域名前面加 . 符将会被忽视,因为浏览器也许会拒绝设置这样的 cookie。如果指定了一个域,那么子域也包含在内。
- max-age=max-age-in-seconds (例如一年为 60*60*24*365)
- expires=date-in-GMTString-format 如果没有定义,cookie 会在对话结束时过期 这个值的格式参见 Date.toUTCString()
- secure (cookie 只通过 https 协议传输)
以上内容摘自MDN-Document.cookie
sessionStorage
特点
- 大小在 5M 左右,不同的浏览器大小不一样
- 仅在当前会话有效,关闭页面或浏览器会被清除
Window.sessionStorage
// 保存数据到 sessionStorage
sessionStorage.setItem('key', 'value')
// 从 sessionStorage 获取数据
let data = sessionStorage.getItem('key')
// 从 sessionStorage 删除保存的数据
sessionStorage.removeItem('key')
// 从 sessionStorage 删除所有保存的数据
sessionStorage.clear()
localStorage
特点
- 大小 5M
- 不会自动清除,要手动清除
Window.localStorage
// 设置数据
localStorage.setItem('key', 'value')
// 获取数据
let data = localStorage.getItem('key')
// 移除数据
localStorage.removeItem('key')
// 移除所有数据
localStorage.clear()