Cookie、localStorage、sessionStorage及Storage

本文深入探讨了前端存储技术,对比分析了Cookie、localStorage和sessionStorage的区别,包括存储大小、有效期、路径限制、数据类型及API特性。同时,介绍了如何封装Storage以满足更复杂的数据存储需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cookie、localStorage、sessionStorage及Storage封装

1.前端登录的4种方式
2.快速上手Token登录认证
3.jwt 实践应用以及特殊案例思考
4.使用LocalStorage、sessionStorage报异常DOMException: Failed to execute ‘setItem’ on ‘Storage’: 解决方法
5.使用LocalStorage、sessionStorage报异常DOMException: Failed to execute ‘setItem’ on ‘Storage’: 解决方法
6.深入浅出前端本地储存
7.在页面刷新时将vuex里的信息保存到sessionStorage里,避免丢失
8.Vue 实现输入框新增搜索历史记录功能

"Cookie、localStoragesessionStorage 三者区别?"这是一道面试题,看似非常简单,但是你要完全掌握还是需要功夫的,但凡使用过Storage,不管是localStorage还是sessionStorage其实也都有API了,它们已经有getItem(),setItem()removeItem(),clear(),为什么还要进行封装?本节主要讲cookie和Storage的有什么关联及区别,以及为什么对Storage进行封装?

1.Cookie、localStorage、 sessionStorage 三者区别?

(1)localStorage和sessionStorage关系

localStorage和sessionStorage都是一种缓存技术,区别是localStorage本地永久存储,存储到浏览器端有明确的文件可以读写,sessionStorage在内存中存储,随着浏览器的关闭会而自动关闭。

(2)cookie和storage的关联(多角度和多维度去回答)

①存储大小: Cookie4K、Storage5M

​ 过去我们存储cookie通常都是4k,其实说实话,4k不小了,作为字符串很多了,但是它满足不了我们现有的需求了,我们现在前端经常把后端批量性的报文存储到浏览器里面去了,这种需求用cookie存的话就很麻烦,因为cookie我们经常需要设置它的域名,它的过期时间,设置它的路径,然后把cookie的值存进去,通常我们只存一个值。但是现在我们很多需求是把整个一段的JSON报文存下去,这种方式用cookie就不太合适了,另外一点我们前端会把cookie发送到服务器端,所以针对于大段的报文用storage存储比较好,cookie是4k,Storage是5M,可以存很多很多报文都没有关系。

②有效期: Cookie拥有有效期,Storage永久存储

​ Cookie设置了过期时间,设置很多都是7天,1个月过期,过期之后需要重新登录,过期之后会消失,自动被delete干掉了,localStorage是永久存储,sessionStorage是会话存储,当浏览器关闭就没了,是在内存里面存的。

③Cookie会发送到服务器端,存储在内存中,Storage只存储在浏览器端

​ Cookie会发送到服务器端,为什么说浏览器和服务端会认识你,比如说张三登录到系统里来,我们要获取用户信息,为什么会把

localStorage, sessionStorage, 和 cookie 都用于在客户端存储数据,但它们有以下几个主要区别: 1. **数据生命周期**[^2]: - Cookie: 数据在设置的过期时间之前一直有效,即使关闭浏览器也会保留,除非特别设置为会话Cookie。 - sessionStorage: 仅在当前浏览器会话期间有效,即当浏览器窗口关闭时数据会被清除。 - localStorage: 数据永久有效,直到用户手动清除或浏览器清理缓存。 2. **数据传输**[^1]: - Cookie: 数据在浏览器和服务器间往返。 - sessionStoragelocalStorage: 不直接发送到服务器,仅在本地存储。 3. **存储大小和路径**: - Cookie: 通常有4k的大小限制,并且可以通过路径属性指定数据的范围。 - sessionStoragelocalStorage: 较大的存储空间(通常5M或更大),没有路径限制。 4. **跨域共享**: - Cookie: 在同源策略下共享,即同一个协议、域名和端口。 - sessionStoragelocalStorage: 仅在同源窗口内共享,即使在不同的标签页也共享。 5. **事件通知**: - Web Storage (localStoragesessionStorage): 支持事件通知,可以监听数据的变化。 在实际使用中,选择哪种存储方式取决于数据的生命周期、隐私需求以及是否需要跨页面或跨会话共享。例如,如果需要跨会话保持数据,可以选择localStorage;如果数据不需要持久化且需要跨页面共享,sessionStorage是个好选择;而cookie适合短期存储少量信息,如用户首选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值