cookies,sessionStorage 和 localStorage 的区别

Cookie与Storage详解
本文详细介绍了cookie、localStorage和sessionStorage的概念及其应用场景。对比了三者在数据生命期、存放大小等方面的差异,并给出了浏览器兼容性的概览。

定义

cookie:存储在用户本地终端上的数据。有时也用cookies,指某些网站为了辨别用户身份,进行session跟踪而存储在本地终端上的数据,通常经过加密。一般应用最典型的案列就是判断注册用户是否已经登过该网站。

localStorage - 没有时间限制的数据存储,第二天、第二周或下一年之后,数据依然可用。

设置: localStorage.name = 'xiaowu';

获取: localStorage.name //xiaowu

sessionStorage - 针对一个 session 的数据存储,当用户关闭浏览器窗口后,数据会被删除。

设置: sessionStorage.name = 'xiaowu';

获取: sessionStorage.name //xiaowu

 

浏览器兼容情况

特性ChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
localStorage43.5810.504
sessionStorage52810.504

 

三者的异同

特性CookielocalStoragesessionStorage
数据的生命期可设置失效时间,默认是关闭浏览器后失效除非被清除,否则永久保存仅在当前会话下有效,关闭页面或浏览器后被清除
存放数据大小4K左右一般为5MB一般为5MB
与服务器端通信每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题仅在客户端(即浏览器)中保存,不参与和服务器的通信仅在客户端(即浏览器)中保存,不参与和服务器的通信
易用性需要程序员自己封装,源生的Cookie接口不友好源生接口可以接受,亦可再次封装来对Object和Array有更好的支持源生接口可以接受,亦可再次封装来对Object和Array有更好的支持

 

使用场景:

localStorage可以用来统计页面访问次数。

sessionStorage可以用来统计当前页面元素的点击次数。

cookie一般存储用户名密码相关信息,一般使用escape转义编码后存储。

转载于:https://www.cnblogs.com/chengmingxiaowu/p/8692827.html

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化并行计算等改进策略。; 适合人群:具备一定Python编程基础优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
### CookiesSessionStorage LocalStorage区别 #### 存储机制 Cookies 是一种较早的客户端存储技术,主要用于保存用户的登录状态或其他少量数据。它们通过 HTTP 请求头发送到服务器,在每次请求时都会被附加到请求中[^1]。 `sessionStorage` 提供了一种临时性的存储方式,仅限于当前浏览器窗口或标签页中的会话生命周期内有效。一旦关闭对应的窗口或标签页,其内容就会丢失[^2]。而 `localStorage` 则提供了持久化的键值对存储功能,除非手动清除或者覆盖原有数据项外不会消失。 #### 数据容量与有效期 关于数据量方面,Cookie每条记录大小上限通常不超过4KB;相比之下,Web Storage API下的两种形式都允许更大的空间——大多数现代浏览器支持至少5MB甚至更多用于localStoragesessionStorage同样如此但因属于短期性质所以实际应用上可能更少一些具体取决于实现环境的不同情况. 另外值得注意的是时间维度上的差异: Cookie可以设置过期日期(expiration date),如果未指定则默认当次访问结束之后自动删除;对于其他两者来说并没有内置这样的概念 - 即使存在某些特定条件下(比如用户主动清理缓存)可能导致信息丧失之外正常情况下Localstorage里的资料会长久保留下去直到人为干预为止 whereas Sessionstoragedata will be erased upon termination of browsing session regardless whether there has been any activity during this period or not . #### 安全性隐私保护措施 由于Cookie经常携带敏感的身份验证令牌等重要参数因此围绕着它的安全性设计格外严格包括但不限于HttpOnly标记防止JavaScript脚本读取以及Secure标志确保只在HTTPS连接下传输等等特性来增强防护力度 . 反观剩下的那两个选项虽然也具备一定的隔离机制比如说同源策略(Same-origin Policy)限制跨域操作但是总体而言缺乏专门针对恶意行为定制的安全手段所以在处理涉及个人机密之类的内容时候应该更加谨慎考虑采用更为稳妥的方式如加密后再储存之类的额外步骤加以保障 . ```javascript // Example usage of localStorage and sessionStorage localStorage.setItem('username', 'JohnDoe'); // Persists across sessions sessionStorage.setItem('gameState', JSON.stringify({ level: 10 })); // Only lasts until window/tab closes console.log(localStorage.getItem('username')); // Retrieves stored username from persistent store console.log(sessionStorage.getItem('gameState')); // Gets game state while tab/window remains open ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值