详解localStorage和sessionStorage

前端数据持久化指南:LocalStorage、SessionStorage 等的区别与应用 本文介绍了前端数据持久化的四种实现方法,包括 LocalStorage、SessionStorage、IndexedDB 和 Cookies。分析了它们在存储容量、数据生命周期、数据类型支持和应用场景等方面的区别。开发者可根据项目需求选择合适的方法实现前端数据持久化。 阅读详情

一、什么是 localStorage、sessionStorage

在 HTML5 中,新加入了一个 localStorage 特性,这个特性主要是用来作为本地存储来使用的,解决了 cookie 存储空间不足的问题(cookie 中每条 cookie 的存储空间为 4k),
localStorage 中一般浏览器支持的是 5M 大小,这个在不同的浏览器中 localStorage 会有所不同。
对浏览器来说,使用 Web Storage 存储键值对比存储 Cookie 方式更直观,而且容量更大,它包含两种:localStorage 和 sessionStorage

  1. sessionStorage(临时存储):为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载
  2. localStorage(长期存储):与 sessionStorage 一样,但是浏览器关闭后,数据依然会一直存在

二、使用方法

注意:sessionStorage 和 localStorage 的用法基本一致,引用类型的值要转换成JSON,所以这里就只列举 localStorage

  1. 保存

    //对象
    const info = { name: 'hou', age: 24, id: '001' };
    //字符串
    const str="haha";
    localStorage.setItem('hou', JSON.stringify(info));
    localStorage.setItem('zheng', str);
    
  2. 获取

    var data1 = JSON.parse(localStorage.getItem('hou'));
    var data2 = localStorage.getItem('zheng');
    
  3. 删除

    //删除某个
    localStorage.removeItem('hou');
    //删除所有
    localStorage.clear();
    
  4. 监听
    Storage 发生变化(增加、更新、删除)时的触发,同一个页面发生的改变不
    会触发,只会监听同一域名下其他页面改变 Storage

    window.addEventListener('storage', function (e) {
    console.log('key', e.key); console.log('oldValue', e.oldValue);
    console.log('newValue', e.newValue); console.log('url', e.url);
    })
    
  5. 浏览器中查看
    在这里插入图片描述
    在这里插入图片描述
    这里的本地存储就是localStorage,会话存储就是sessionStorage

  6. 注意点
    localStorage 有效期是永久的。一般的浏览器能存储的是 5MB 左右。sessionStorageapi 与 localStorage 相同。 sessionStorage 默认的有效期是浏览器的会话时间(也就是说标签页关闭后就消失 了)。
    localStorage 作用域是协议、主机名、端口。(理论上,不人为的删除,一直存在设 备中)
    sessionStorage 作用域是窗口、协议、主机名、端口。

三、localStorage 的优势与局限

  1. localStorage 的优势
    (1)localStorage 拓展了 cookie 的 4K 限制
    (2)localStorage 会可以将第一次请求的数据直接存储到本地,这个相当于一个 5M 大小的针对于前端页面的数据库,相比于 cookie 可以节约带宽,但是这个却是只有在高版本的浏览器中才支持的
  2. localStorage 的局限
    (1)浏览器的大小不统一,并且在 IE8 以上的 IE 版本才支持 localStorage 这个属性
    (2)目前所有的浏览器中都会把 localStorage 的值类型限定为 string 类型,这个在对我们日常比较常见的 JSON 对象类型需要一些转换
    (3)localStorage 在浏览器的隐私模式下面是不可读取的
    (4)localStorage 本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡
    (5)localStorage 不能被爬虫抓取到 localStorage 与 sessionStorage 的唯一一点区别就是 localStorage 属于永久性存储,而 sessionStorage 属于当会话结束的时候,sessionStorage 中的键值对会被清空。
localStorage 和 sessionStorage的区别 localStorage 和 sessionStorage 是浏览器提供的两种客户端存储方式,主要用于临时保存数据。它们的主要区别在于数据有效期和作用域。localStorage 的数据永久存储,除非手动删除,且在同源的所有窗口或标签页中共享,适合长期保存用户偏好或缓存数据。 阅读详情

相关推荐

前端存储方案:对比localStorage、sessionStorage与BOM

随着单页应用(SPA)和渐进式Web应用(PWA)的普及,前端存储成为构建复杂应用的核心技术。三种存储的本质区别是什么?何时该选择持久化存储 vs 会话级存储?如何避免Cookie带来的性能损耗?存储容量限制如何影响架构设计?基础概念解析:定义三种存储的核心特性技术参数对比:生命周期、容量、作用域等关键指标底层原理剖析:浏览器如何实现数据存储与传输实战开发指南:完整代码示例与最佳实践性能与安全:网络开销、XSS/XSRF风险分析。

AI架构全栈开发实战笔记 946

localStorage使用总结

一、什么是localStorage、sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。   二、localStorag...

weixin_33675507的博客 5590

【王道训练营 C/C++方向基础 60 题(31-40)】

王道训练营 C/C++方向基础 60 题(31-40)

qq_55805517的博客 3067

session与cookie的区别以及HTML5中WebStorage理解

一、session与cookie的区别 二、HTML5中WebStorage理解 WebStorage的目的是克服由cookie所带来的一些限制,当数据需要被严格控制在客户端时,不需要持续的将数据发回服务器。 WebStorage两个主要目标:(1)提供一种在cookie之外存储会话数据的路径。(2)提供一种存储大量可以跨会话存在的数据的机制。 HTML5的WebStorage提供了两...

weixin_30566111的博客 634

S4 Hana SD -信贷管理 - 02

在S4版本中,客户的信用管理数据在事务代码BP维护,业务伙伴角色是UKM000。在维护过程中,我们并不能直接输入信贷控制范围这个组织架构,而是需要输入一个信用段,并且在信用段的维度下去维护相应信用管理数据。对于信用段,可以分为主信用段(信用段是0000)和其他临时信用段,我们可以通过配置把次级信用段的客户信贷负债汇总到主信用段。当然,在后台也有配置,会把信用段和信贷控制范围这两者进行关联.3.2SPROIMG > 财务供应链管理 > 信用管理 > 信贷风险监视 > 主数据 > 创建信用段。

weixin_46525734的博客 1965

5QI(5G QoS Identifier)

此外,5QI与网络切片(Network Slicing)密切相关,网络切片允许网络运营商在物理网络内部创建虚拟网络,为不同的客户和用例提供定制化服务和QoS。5QI(5G QoS Identifier)在5G网络中用于标识不同的服务质量要求,它允许网络对不同的数据流进行优先级划分和资源分配。:5QI的实施需要对5G网络的QoS参数有深入的理解,包括延迟、吞吐量、数据包丢失率等,这对技术人员提出了较高的要求。不是所有的5G设备都支持5QI的全部功能,这可能会限制5QI应用的广泛性。

记录有价值的内容 6530

cookie、localStorage和sessionStorage详解

一、cookie cookie是客户端与服务器端进行会话使用的一个能够在浏览器本地化存储的技术。简言之,cookie是服务器端发给客户端的文本文件;目的是用于辨别用户身份。 只能储存4kb的数据,

m0_37756431的博客 1万+

保姆级教程:用STM32CubeMX HAL库搞定ESP8266连接,附串口printf调试全流程

本文提供了一份详细的STM32CubeMX HAL库教程,指导开发者如何实现ESP8266无线模块的连接与调试。从开发环境搭建、串口配置到AT指令通信解析,涵盖了物联网开发中的关键步骤和常见问题解决方案,帮助开发者快速掌握STM32与ESP8266的集成技术。

weixin_28273593的博客 504

Cookie、LocalStorage和SessionStorage区别详解

Cookie、LocalStorage和SessionStorage区别详解 概念理解 Cookie它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通过在 Cookie 中存入一段辨别用户身份的数据来实现的。 localStorage 是 HTML5 标准中新加入的技术,localStorage的生命周期是永久性的。假若使用localStorage存储数据,即使关闭浏览器,也不会让数据消失,除非主动的去删除数据。 sessionStorage 与 localStorage

yun_shuo的博客 1747

Sharding-JDBC 系列专题 - 第九篇:高可用性与集群管理

高可用性是指系统在面对故障(如数据库宕机、网络中断)时,能够快速恢复并继续提供服务。Sharding-JDBC 和 Sharding-Proxy 提供了多种机制支持高可用性,同时需要结合底层数据库的高可用方案(如 MySQL 主从复制、MHA)来实现。高可用性和集群管理是 Sharding-JDBC 和 Sharding-Proxy 在生产环境中成功应用的关键。本篇详细介绍了数据库高可用方案、Sharding-JDBC 的故障切换机制、Sharding-Proxy 的集群部署,以及分布式治理功能。

资深架构师分享:深入剖析软件架构,探讨云计算、微服务、大数据等前沿技术。分享实践经验,促进技术交流,共同构建卓越系统。 1393

YOLOv8的二次创新 | 结合iRMB与EMA打造全新的iEMA机制,提升动态检测性能【附保姆级代码】

YOLOv8继承了YOLO系列的轻量化和高效检测特性,同时通过改进的架构设计使得其在实时场景下具有更高的检测精度。然而,随着检测需求的增加,尤其是在动态目标检测和长时间序列检测中,YOLOv8的鲁棒性依然可以提升。通过iEMA机制的引入,我们将在这些方面进行进一步优化。iRMB模块是我们对传统Residual Block的进一步改进。通过多层特征提取,iRMB能够捕捉更多层次的特征信息,并通过引入轻量化的残差结构,提升计算效率。

一键难忘的博客 3085

详解localStorage和sessionStorage,以及两者的区别

是浏览器提供的一种客户端存储机制,用于在用户的浏览器中存储键值对形式的数据。下面是关于。

前端笔记——放弃很容易,但坚持一定很酷 9002

华为OD机考双机位C卷 - 区间交集(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 区间交集

算法大师! 1136

SessionStorage、LocalStorage详解

作为Web开发人员,在 Web浏览器中存储数据以改善用户体验和提升Web应用程序性能是非常常见的。在大多数情况下,可供我们使用就是LocalStorage和SessionStorage。 本文中,我们将会从安全性和用户体验两个方面对SessionStorage和LocalStorage进行评估。然后我们将讨论如何根据您的要求挑选合适使用的对象。 SessionStorage和LocalStorage简介 在HTML5之前,开发人员一般是通过使用Cookie在客户端保存一些简单的信息的。在HTML5发布

songjuntao8的专栏 916

Puchem化合物数据批量抓取采集_宝典_教程_Python爬虫

本文共计6500字,导出到PDF达42页(含代码)。从0教你如何抓取Pubchem化合物数据。 1、 Pubchem介绍 ​ Pubchem是美国国立卫生研究院(NIH)的开放式化学数据库,自2004年推出以来,pubchem已成为科学家、学生和公众的重要化学信息资源。其专门针对化学结构搜索,是网络药理学研究经常用到的数据库之一,不仅使用方便而且免费。 ​ PubChem主要包含小分子,但也包含较大的分子,例如核苷酸,碳水化合物,脂质,肽和化学修饰的大分子。收集有关化学结构,标识符,化学和物理性..

qq_34843422的博客 6073

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Cookie、Session、LocalStorage 和 SessionStorage 的区别详解

在前端开发中,数据存储和状态管理是非常重要的内容。常用的存储方式有 Cookie、Session、LocalStorage 和 SessionStorage。本文将详细介绍这四者的区别,帮助开发者更好地理解和选择合适的存储方案。Cookie 是由服务器生成并发送到客户端的一小段数据,客户端会将其存储并在后续请求中携带,帮助服务器识别用户。用户身份认证(如记住登录状态)存储用户偏好设置跟踪用户行为(如广告点击记录)// 设置 Cookiepath=/";// 读取 Cookie。

m0_65084430的博客 8481

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

cookies、sessionStorage和localStorage的区别及概念详解

如图,在谷歌浏览器中查看,左侧会看到Local Storage和Session Storage以及Cookies! 一、什么是Cookie? 先来看看权威的解释,百度百科! 这里可以看到提到了一个session的概念,其实,cookie和session都是用来跟踪浏览器用户身份的会话方式,但在使用过程中存在很大区别! Cookie和Session的区别 1.数据存储位置有区别 cookie保存在浏览器端,session保存在服务器端! 2.使用方式有区别 cookie机制 如果不在浏览器中设置过期时.

CRMEB小程序商城的博客 4804

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Cookie、 LocalStorage 与 SessionStorage详解

基本概念 Cookie Cookie 是小甜饼的意思。顾名思义,cookie 确实非常小,它的大小限制为4KB左右。它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通过在 Cookie 中存入一段辨别用户身份的数据来实现的。 localStorage localStorage 是 HTML5 标准中新加入的技术,它并不是什么划时代的新东西。早在 IE 6 ...

weixin_30845171的博客 89

cookie、localStorage、sessionStorage 详解

http 协议中的 cookie 包括 web cookie 和浏览器 cookie,是服务器发送到 web 浏览器的一小块数据,保存在浏览器的一小段文本信息,浏览器进行存储并且下次发送请求的时候携带上 cookie。购物车:类似于购物车性质的功能,第一次用户将某些商品放入购物车了,但是临时有事,将电脑关闭了,下次再次进入此网站,我们可以通过读取 cookie 中的信息,恢复购物车中的物品。即使是安全的,也不应该将敏感信息存储在cookie 中,因为它们本质上是不安全的,并且此标志不能提供真正的保护。

When you can't win by being better, you can win by being different. 1320

浏览器Cookies、SessionStorage 和 LocalStorage详解

本文详细介绍了Cookies,Session Storage与Local Storage的一些特点与缺点,总结了他们的应用场景,希望对你能有所帮助~

hxy771503的博客 5272

localStorage、sessionStorage、Cookie的区别详解

localStorage、sessionStorage、Cookie共同点: 都保存在浏览器端,且是同源的(顺便解释一下同源:域名、协议、端口号相同) localStorage、sessionStorage、Cookie不共同点: 存储大小的不同: localStorage的大小一般为5M sessionStorage的大小一般为5M cookies的大小一般为4K 有效期不同:...

静水流深 6225

详解Vue中localstorage和sessionstorage的使用

1. 项目使用中暴露出来的几个问题大家到处直接使用localstorage['aaa']='这是一段示例字符串'这些原生语法实现,这样耦合度太高了,假如有一天我们需要换实现方式,或者对存储大小做一些控制,那么需要修改的代码就会很多项目很大,那么大家起的key的名字难免会重复,而且这样也会造成全局污染因为localstorage的使用不规范,所以造成了存储空间的浪费和不够用2. 解决办法封装stor...

大熊的博客 1万+

详解 localStorage、sessionStorage和cookie区别

cookie、sessionStorage和localStorage是在Web开发中常用的三种存储数据的方式。它们在存储机制、作用域、容量限制等方面有所不同。在本文中,我将介绍cookie、sessionStorage和localStorage的区别,并探讨它们的背景、原理、使用场景、具体实现代码以及一些注意事项和总结。cookie、sessionStorage和localStorage是常用的存储数据的方式。它们在存储机制、作用域、容量限制和生命周期等方面有所不同。

这里是前端,是不一样的前端 380

本地存储LocalStorage和SessionStorage详解

…

weixin_42321326的博客 2536
上一篇: NodeJS中的模块和npm包管理器
下一篇: HTTP状态码大全
impact_factor
博客等级 码龄6年 32粉丝 44原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值