当前位置: 首页 > news >正文

浏览器存储 Cookie,Local Storage和Session Storage

什么是Cookie?

  • 存储容量:一般限制在 4KB 以内。
  • 数据有效期:可以设置过期时间,若未设置,则在浏览器关闭时失效。
  • 数据共享:在同一域名下,不同页面可以共享cookie数据。并且在每次 HTTP 请求时,cookie会被发送到服务器端。
  • 数据存储和读取:需要手动解析和设置document.cookie字符串。
  • 在HTTP明文传输中不够安全,容易被修改。
  • 每次请求都会携带Cookie数据增加流量浪费性能。
  • 示例代码:
// 存储数据
document.cookie = 'name=daxiaojiuhenpi; expires=Thu, 18 Dec 2025 12:00:00 UTC; path=/';
// 读取数据
function getCookie(name) {const value = `; ${document.cookie}`;const parts = value.split(`; ${name}=`);if (parts.length === 2) return parts.pop().split(';').shift();
}
const name = getCookie('name');
console.log(name); 

什么是Local Storage?

  • 存储容量:一般为 5MB 左右,不同浏览器可能存在差异。
  • 数据有效期:除非手动删除,否则数据不会过期,会一直存储在浏览器中。
  • 数据共享:在同一域名下,不同页面可以共享localStorage数据。
  • 数据存储和读取:使用setItem方法存储数据,getItem方法读取数据。
  • 不支持在不同浏览器共享数据。
  • 一网站只能访问自己域下的LS。
  • 示例代码:
// 存储数据
localStorage.setItem('username', '打小就很皮');
// 读取数据
const username = localStorage.getItem('username');
console.log(username); 

什么是Session Storage?

  • 存储容量:与localStorage类似,通常为 5MB 左右。
  • 数据有效期:数据仅在当前会话期间有效,当页面关闭后,数据会被清除。
  • 数据共享:仅在同一窗口(或标签页)的不同页面间共享数据,不同窗口(或标签页)的数据是相互独立的。
  • 数据存储和读取:使用setItem方法存储数据,getItem方法读取数据。
  • 示例代码
// 存储数据
sessionStorage.setItem('token', 'DGBjbjbg35bhjbuydsatdgry3bd8t');
// 读取数据
const token = sessionStorage.getItem('token');
console.log(token); 

 

差异总结:不同点

CookieLocal StorageSession Storage
存储内容是否发送到服务端每请求都发回只保存在本地
数据存储大小不超过4KB达到5MB
数据存储有效期自行设置失效时间永久有效关闭浏览器前有效
作用域同源同窗口都是共享不同窗口不共享

http://www.xdnf.cn/news/305857.html

相关文章:

  • 在 Sheel 中运行 Spark:开启高效数据处理之旅
  • 公司项目架构搭建者
  • LXwhat-嘉立创
  • 5G+教育:如何重塑未来课堂?
  • 打造智慧养老实训室,构建科技赋能养老新生态
  • 精益数据分析(44/126):深度解析媒体网站商业模式的关键要点
  • 安装篇--CentOS 7 虚拟机安装
  • 【AI】用AI将文档、文字一键生成PPT的方法(百度的自由画布版)
  • OpenCV 图形API(79)图像与通道拼接函数-----将一个三通道的 GMat 图像拆分为三个单独的单通道 GMat函数split3()
  • Coding Practice,48天强训(29)
  • MySQL8查询某个JSON类型的字段中出现过的所有键名(json key name)并去重返回
  • CKESC ROCK 280A-M 电调专业测评:工业级性能与智能保护的深度平衡
  • 如何从服务器日志中分析是否被黑客攻击?
  • 多线程系列五:面试中常考的单例模式
  • 猿人学web端爬虫攻防大赛赛题第7题——动态字体,随风漂移
  • SecureCrt设置显示区域横列数
  • Vue Element UI 表单弹窗重置问题解决方案 —— 每次打开都初始化,告别残留提示!
  • DeepSeek智能时空数据分析(七):4326和3857两种坐标系有什么区别?各自用途是什么?
  • Linux——https基础理论
  • 产品经理如何借助 DeepSeek 提升工作效能
  • 导向滤波和AV1中的自导滤波
  • 找客户的软件哪个靠谱 靠谱获客软件推荐
  • 构建 Web 浏览 AI Agent:Pydantic + MCP 实现指南
  • 《面向对象程序设计-C++》实验五 虚函数的使用及抽象类
  • 网站防护如何无惧 DDoS 攻击?
  • 开启docker中mysql的binlog日志
  • 深入理解 mapper-locations
  • 2025母亲节海外网红营销趋势:跨境电商如何抓住节日红利期?
  • 38.前端代码拆分
  • ShardingSphere:使用information_schema查询时报错:Table ‘数据库名称.tables‘ doesn‘t exist