三种存储方式的区别

三种存储方式的区别

转自:https://www.cnblogs.com/hjt-7/p/6401050.html
内容需要补充,后期增加

javaScript有三种数据存储方式,分别是:

sessionStorage

localStorage

cookie

相同点:都保存在浏览器端,同源的

不同点:

①传递方式不同

cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。

sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。

②数据大小不同

cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。
存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。

sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。

③数据有效期不同

sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;

localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;

cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。

④作用域不同

sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;

localStorage 在所有同源窗口中都是共享的;

cookie也是在所有同源窗口中都是共享的。

Web Storage 支持事件通知机制,可以将数据更新的通知发送给监听者。
Web Storage 的 api 接口使用更方便。

本地存储是指将数据保存在用户设备的存储介质上,以便在需要时可以读取和使用。常见的三种本地存储方式包括: 1. Cookies:Cookies 是最常见的本地存储方式之一。它是由服务器发送给浏览器的小型文本文件,存储在用户设备上。Cookies 可以用于存储用户的身份认证信息、个性化设置、购物车内容等。它的主要特点是易于使用和跨浏览器支持,但存储容量有限(通常不超过4KB),且只能存储字符串格式的数据。 2. Web Storage(Web 存储):Web Storage 是 HTML5 引入的一种本地存储方式,包括 sessionStorage 和 localStorage 两种。sessionStorage 用于在单个会话期间保存数据,而 localStorage 则可以长期保存数据。Web Storage 可以存储更大量的数据(通常至少5MB),并且可以存储键值对形式的数据,支持存储字符串和复杂对象等。 3. IndexedDB:IndexedDB 是一种高级的本地数据库,可以在浏览器中保存结构化数据。它提供了更强大的查询和索引功能,支持事务和批处理操作,适合存储大量、复杂的数据。IndexedDB 的使用相对较复杂,需要编写异步代码来操作数据库,但它提供了更大的灵活性和性能。 总的来说,Cookies 适合存储小型数据简单的键值对;Web Storage 提供了更大的存储容量和更灵活的数据存储方式;IndexedDB 则适用于需要高级数据库功能和处理大规模数据的场景。选择合适的本地存储方式取决于具体需求和应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值