[Web数据控制]浏览器中cookie、localStorage和sessionStorage

前言

最近在跟随公司的前辈大哥们做一个全栈项目,让我负责前端页面数据的存取控制。想要做好网站的数据存取控制,就需要明白好客户端的浏览器各个域的作用机制。

区别

共享性

cookie和localStorage都是跟随同一个网址的存储空间。在同一个网址下,所有的标签页之间共享cookie和localStorage。

而sessionStorage是当前标签页下有效。同一个网站不同的标签页,sessionStorage一般是不共享的。只有同源窗口(协议、域名、端口一致,注意是这里说的是窗口,不是标签页和网址),不同页面可以共享sessionStorage的值。意思就是,如果我新的一页是通过 window.open 方法或者是通过链接打开时,新页面会复制前一个页面的sessionStorage。

保存时长

localStorage:永久有效,除非script代码清除或者删除浏览器缓存

sessionStorage:当前会话内有效,当窗口关闭时(刷新可以视为重启页面,也有关闭页面的行为)清除里面的数据。

cookie:由开发者编辑代码时设置,大多开发框架默认行为是设置成永久有效,同localStorage一样。也可以由开发者设置过期时长。

最后一个重要的差别是,cookie中的内容会跟随在每一个请求头中,而localStorage和sessionStorage不会。

相关推荐
刘发财1 小时前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github
牛奶4 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶4 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
Kagol6 小时前
🎉OpenTiny NEXT-SDK 重磅发布:四步把你的前端应用变成智能应用!
前端·开源·agent
GIS之路7 小时前
ArcGIS Pro 中的 notebook 初识
前端
JavaGuide7 小时前
7 道 RAG 基础概念知识点/面试题总结
前端·后端
ssshooter8 小时前
看完就懂 useSyncExternalStore
前端·javascript·react.js
格砸9 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
Live000009 小时前
在鸿蒙中使用 Repeat 渲染嵌套列表,修改内层列表的一个元素,页面不会更新
前端·javascript·react native
柳杉9 小时前
使用Ai从零开发智慧水利态势感知大屏(开源)
前端·javascript·数据可视化