js之旅(十四)js 三种本地存储--localStorage;sessionStorage;cookie

一、localStorage

localStorage将数据存在在本地,并且没有时间限制,一般同源存储大小为5M左右;只有手动删除时localStorage中的数据才会被清理。
保存数据:

localStorage.setItem("test", JSON.stringify(data));

获取数据:

console.log(JSON.parse(localStorage.getItem("test")));

删除数据:

localStorage.removeItem("test");

数据保存位置:
在这里插入图片描述

二、sessionStorage

sessionStorage将数据存在在本地,仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持,一般同源存储大小为5M左右。
保存数据:

sessionStorage.setItem("test", JSON.stringify(data));

获取数据:

console.log(JSON.parse(sessionStorage.getItem("test")));

删除数据:

sessionStorage.removeItem("test");

数据保存位置:
在这里插入图片描述

三、cookie

把信息存储到客户端的浏览器中(但是项目服务器端也是可以获取cookie的),存储大小4k左右,只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭
存储数据:

document.cookie = "name='test'&age=8"

获取数据:

console.log(document.cookie);//name='test'&age=8

想要具体获取某个cookie值需要处理字符串。

四、三者的比较

4.1 是否向服务器端传递
  • cookie数据始终在同源http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。
  • sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存
4.2 数据大小不同
  • cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。
    存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。
  • sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
4.3 数据有效期不同
  • sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;(F5刷新页面只是把当前的DOM结构等进行重新的渲染,会话并没有关闭)
  • localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;不管是杀毒软件还是浏览器自带的清除历史记录的功能,都不能把localstorage存储的内容移除掉
  • cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。使用杀毒软件或者浏览器自带的清除垃圾功能都可能会把存储的cookie给删除掉
4.4 作用域不同
  • sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面(标签页,窗口);
  • localStorage 在所有同源窗口中都是共享的
  • cookie也是在所有同源窗口中都是共享的
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CookieLocalStorageSessionStorage是在Web开发中常用的存储数据的方式。 Cookie是一种存储在用户计算机上的小型文本文件,由服务器通过HTTP响应发送给浏览器,浏览器会将Cookie保存,并在后续的请求中通过HTTP头部发送给服务器。Cookie可以用来存储少量的数据,例如用户的身份认证信息、用户的偏好设置等。由于存储在客户端,因此可以在不同的会话之间持久保存。 LocalStorageSessionStorage是HTML5中新增的Web存储接口,都是在浏览器端进行数据存储的方式,不需要与服务器进行交互。它们使用相似的API,都可以存储大量的数据,并且保存在浏览器的本地环境中。 LocalStorageSessionStorage之间的主要区别在于数据的生命周期和作用域。LocalStorage保存的数据没有过期时间,除非用户手动删除,否则数据会一直保留。而SessionStorage保存的数据只在当前会话中有效,当用户关闭浏览器窗口或标签页时,数据会被清除。另外,LocalStorage的数据可以在同一个域名下的不同页面间共享,而SessionStorage的数据只能在同一个页面中共享。 总结: - Cookie是在服务器和浏览器之间传递的存储方式,用于存储少量数据。 - LocalStorageSessionStorage是在浏览器端进行数据存储的方式,可以保存大量数据。 - LocalStorage的数据没有过期时间,而SessionStorage的数据在会话结束时被清除。 - LocalStorage的数据可以在同一个域名下的不同页面间共享,而SessionStorage的数据只在同一个页面中有效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值