Cookie、sessionStorage、localStorage 的区别

CookiesessionStorage 和 localStorage 是 Web 存储解决方案中的三种不同方式,它们各自有不同的特点、用途和限制。下面是对这三种技术的详细比较:

1. Cookie

定义和用途

  • Cookie 是一种在客户端(浏览器)存储数据并在浏览器和服务器之间传输数据的方式。
  • 主要用于身份验证、跟踪用户会话、存储用户偏好设置等。

特点

  • 每次 HTTP 请求都会将 Cookie 发送到服务器,即使请求的资源(如图片、CSS 文件等)与 Cookie 无关。
  • 浏览器对 Cookie 的大小有限制(通常为 4KB),并且存储数量也有限制(如每个域名下最多 20 个 Cookie)。
  • 可以设置 Cookie 的过期时间,从而控制其生命周期。
  • Cookie 的安全性较低,因为它们会被发送到服务器,可能受到跨站请求伪造(CSRF)和跨站脚本(XSS)等攻击。

2. sessionStorage

定义和用途

  • sessionStorage 允许你在同一个浏览器标签页会话中存储数据,即使页面重新加载,数据仍然存在。
  • 关闭标签页或浏览器后,存储的数据将被删除。
  • 主要用于存储页面级别的数据,如临时数据、表单信息等。

特点

  • 仅在单个标签页会话中有效,不同标签页或窗口之间不会共享。
  • 存储空间相对较大(至少 5MB),比 Cookie 大得多。
  • 不会随 HTTP 请求发送到服务器,增强了安全性。
  • 适用于存储不需要持久保存的数据。

3. localStorage

定义和用途

  • localStorage 允许你在用户的浏览器中存储数据,没有过期时间,直到被显式删除。
  • 数据会一直存在,即使浏览器关闭或计算机重启。
  • 主要用于长期存储数据,如用户设置、主题偏好等。

特点

  • 跨浏览器标签页和窗口共享数据。
  • 存储空间相对较大(至少 5MB)。
  • 不会随 HTTP 请求发送到服务器,增强了安全性。
  • 适用于存储需要长期保存的数据。

总结

  • Cookie:主要用于浏览器和服务器之间的通信,但存储空间有限,且每次请求都会发送到服务器。
  • sessionStorage:适用于页面级别的数据存储,仅在当前浏览器标签页会话中有效,且不会随请求发送到服务器。
  • localStorage:适用于长期存储数据,跨浏览器标签页和窗口共享,也不会随请求发送到服务器。

补充说明一下 cookie 的作用: 保存用户登录状态。例如将用户 id 存储于一个 cookie 内,这样当用户下次访问该页面 时就不需要重新登录了,现在很多论坛和社区都提供这样的功能。 cookie 还可以设置 过期时间,当超过时间期限后,cookie 就会自动消失。因此,系统往往可以提示用户保 持登录状态的时间:常见选项有一个月、三个 月、一年等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/763298.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【RabbitMQ问题踩坑】RabbitMQ设置手动ack后,消息队列有多条消息,只能消费一条,就不继续消费了,这是为什么 ?

现象:我发送5条消息到MQ队列中,同时,我在yml中设置的是需要在代码中手动确认,但是我把代码中的手动ack给关闭了,会出现什么情况? yml中配置,配置需要在代码中手动去确认消费者消费消息成功&…

Tomcat部署与优化

Tomcat部署与优化 Tomcat简述 server: 服务器,Tomcat运行的进程实例,一个Server中可以有多个service,但通常就一个 service:服务,用来组织Engine(引擎)和Connector(连接…

黑鹰优化算法(BEO)-2024年SCI新算法-公式原理详解与性能测评 Matlab代码免费获取

目录 原理简介 一、种群初始化 二、围捕行为 三、悬停行为 四、捕捉行为 五、抢夺行为 六、警告行为 七、迁徙行为 八、求偶行为 九、孵化行为 性能测评 参考文献 完整代码 黑鹰优化算法(Black eagle optimizer, BEO)是一种新型的元启发式算法(智能优化…

微信小程序的运行机制与更新机制

1. 小程序运行机制 1.1. 冷启动与热启动 冷启动为用户第一次打开小程序时,因为之前没有打开过,这是第一种冷启动的情兑。第二种情况为虽然之前用户打开过,但是小程序被用户主动的销毁过,这种情况下我们再次打开小程序&#xff0…

PADS设置板框提示不闭合的解决办法

一般是选中join,提示不闭合,不能转成板框,其实直接点击close就好了,报错提示里就有提示,让用close命令试试

FT232串口win11打不开,重新安装驱动问题解决。

问题现象:FT232 WIN11打不开,串口识别正在被占用。更改串口号问题无法解决。 解决办法: 卸载驱动, 重启电脑, 去官网下驱动安装问题解决。Drivers - FTDI

卡尔曼滤波公式推导笔记

视频见B站上DR_CAN的卡尔曼滤波器 【卡尔曼滤波器】3_卡尔曼增益超详细数学推导 ~全网最完整_哔哩哔哩_bilibili

虚拟机网络配置(静态网络)

解决问题:VMware中创建centOS虚拟机后使用ifconfig没有ip地址,但我想在主机(Windows)系统下使用shell连接虚拟机从而方便后续交互。 VMware中编辑->虚拟网络编辑器 (注意需要管理员身份不然会无法修改)…

一篇文章学会【node.js安装以及Vue-Cli脚手架搭建】

一.为什么搭建Vue-Cli (1).传统的前端项目结构: 一个项目中有许多html文件,每一个html文件都是相互独立的, 如果需要在页面中导入一些外部依赖的组件,就需要在每一个html文件中都需要导入,非常麻烦 (2).现在的前端…

老挝-海外媒体发稿:媒体宣发超给力,打造完美产业链

引言 老挝新闻网(laosnews)通过海外媒体发稿的方式,取得了显著的成就。借助媒体宣发的力量,老挝成功打造了一个完美的产业链,进一步推动了本国经济的发展。本文将探讨老挝-海外媒体发稿的优势以及产业链的构建和发展。…

HarmonyOS开发探索:使用Snapshot Insight分析ArkTS内存问题

识别内存问题 当怀疑应用存在内存问题的时候,首先使用DevEco Profiler的Allocation Insight来度量内存在问题场景下的大小变化以及整体趋势,初步定界问题出现的位置(Native Heap/ArkTS Heap/dev等)。 在初步识别内存问题出现的位置…

MySQL架构和性能优化

文章目录 一、MySQL架构架构图存储引擎MyISAM引擎特点InnoDB引擎特点管理存储引擎 二、性能优化索引索引管理EXPLAIN 工具使用profile工具 监控 一、MySQL架构 架构图 存储引擎 MySQL提供了多种存储引擎供用户选择,每种存储引擎都有自己的特点和使用场景。 InnoDB…

算法刷题之路之链表初探(二)Leecode21合并两个有序链表

算法刷题之路之链表初探(二) 今天来学习的算法题是leecode141环形链表,是一道简单的入门题,话不多说!直接上! 条件(Leecode21) 重点!!! 我直接把…

primetime中cell和net的OCV

文章目录 前言一、Cell OCV1. POCV coefficient file2. POCV Slew-Load Table in Liberty Variation Format(LVF lib) 二、Net OCV三、如何check OCV是否已加上?总结 前言 在生产中,外界环境的各种变化,比如PVT&#…

代码随想录第40天|动态规划

完全背包 完全背包物品可以无限使用 01背包核心代码 01背包中的二维dp数组的两个for遍历可颠倒, 而一维dp数组的一定先遍历物品再遍历背包容量状态转移方程(背包容量一定为递减) 完全背包核心代码 (只在完全背包中一维dp数组嵌套顺序可颠倒, 实际题目需要确定遍历顺序) 状…

云计算与生成式AI的技术盛宴!亚马逊云科技深圳 Community Day 社区活动流程抢先知道!

小李哥最近要给大家分享7月7日在深圳的即将举办的亚马逊云科技生成式AI社区活动Community Day ,干货很多内容非常硬核,不仅有技术分享学习前沿AI技术,大家在现场还可以动手实践沉浸式体验大模型,另外参与现场活动还可以领取诸多精…

API-本地存储

学习目标: 掌握本地存储 学习内容: 本地存储介绍本地存储分类存储复杂数据类型 本地存储介绍: 以前我们页面写的数据一刷新页面就没有了,是不是? 随着互联网的快速发展,基于网页的应用越来越普遍,同时也…

中医药文化传承进校园活动授牌仪式在石家庄主办举办

青春闪“药”,我心向党。2024年6月30日,由河北省药品医疗器械检验研究院主办的”中医药文化传承进校园活动在石家庄主办。来自河北省各地24所学校作为示范学校现场接牌。 河北省科协科普部部长范玉鑫、河北省教育厅学位管理与研究生处副处长耿立艳、河北…

Springboot项目实训--day1

目录 一、软件安装 二、软件的简单了解 三、基础知识应用 1、四个常用注释 2、尝试新建类 3、控制反转(IOC容器) 4、返回数据给浏览器 5、浏览器传回数据给服务器 易错点 一、软件安装 需要安装的软件是idea专业版,刚使用的时候可以使…

mac|浏览器链接不上服务器但可以登微信

千万千万千万不要没有关梯子直接关机,不然就会这样子呜呜呜 设置-网络,点击三个点--选择--位置--编辑位置(默认是自动) 新增一个,然后选中点击完成 这样就可以正常上网了