首页 > 其他分享 >记一下 localstorage sessionStorage cookie 不同

记一下 localstorage sessionStorage cookie 不同

时间:2022-12-17 11:13:46浏览次数:38  
标签:存储 localStorage sessionStorage window cookie key localstorage

localStorage、sessionStorage、cookie 使用整理

下面从这几方面进行梳理

  1. 存储形式
  2. 相同点
  3. 不同点
  4. 使用方法
  5. 用途
  6. 多标签之间通讯

一、存储形式

1、localStrong 、 sessionStorage 已key value 的方式存储
2、cookie 以字符串的形式存储 包括 name value expires(过期时间) path (允许访问路径)

二、相同点

localStorage、sessionStorage、cookie 都可以做数据存储

三、不同点

1、localStorage、sessionStorage 存储数据在 5M 左右(不同浏览器之间存在差异)cookie 存储数据在 4K 左右
2、localStorage、sessionStorage 存储不参与网络通讯,cookie 会携带在请求头参与网络通讯
3、localStorage 生命周期永久有效,除非手动删除。sessionStorage 存储在当前浏览器打开的标签页,当用户关闭标签页sessionStorage 存储内容自动清除。cookie 在不设置过期时间时,当浏览器标签页关闭时失效,设置过期时间则在超过过期时间时失效。

四、使用方法

存储数据

1、localStorage
	window.localStorage.setItem(key, value: String)
2、sessionStorage
	window.sessionStorage.setItem(key, value:string)
3、cookie
	document.cookie = "key=value;key=value;";

获取数据

1、localStorage
	window.localStorage.getItem(key)
2、sessionStorage
	window.sessionStorage.getItem(key)
3、cookie
getCookie() {
  const start = document.cookie.indexOf("name:=");
  const end = document.cookie.indexOf(';', start)
  if (end == -1) {
    end = document.cookie.length
  }

  return unescape(document.cookie.substring(start, end))
}
获取cookie 的第二种方式
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");

if(arr=document.cookie.match(reg))

return unescape(arr[2]);

else

return null;

删除数据方式

1、localStorage
	window.localStorage.removeItem("key")
2、sessionStorage
	window.sessionStorage.removeItem("key")
3、cookie
将 expires 设置为过期时间即可

五、用途

可以存储用户信息,记录用户行为,token,登录状态

六、多标签之间通讯

可以监听 storage 方法,当localStorage 值发生改变时可以触发其他标签页的 storage 方法。不同浏览器略有差异(IE:你们都看我干嘛)

window.addEventListener('storage', storageListener, false)

function storageListener(event) {
   console.log('---------------- event ------------', event);
}

标签:存储,localStorage,sessionStorage,window,cookie,key,localstorage
From: https://www.cnblogs.com/yidejiyi/p/16988729.html

相关文章

  • go 会话控制(cookie)
    session和cookie是网站浏览中较为常见的两个概念,也是比较难以辨析的两个概念,但它们在浏览需要认证的服务页面以及页面统计中却相当关键。我们先来了解一下session和cookie......
  • 会话机制详解(Cookie和Session)
    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记......
  • cookie中的SameSite属性
    我们的网页为什么能被iframe嵌入:1把网关加入应用程序的白名单,Content-Security-Policy是所谓的白名单在http协议上的体现2跨域cookie,发现应用程序的cookie压根没有设置......
  • 【小说网站 - 抓取登陆后的数据,cookie操作】
    今天搞一个小说网站,搞到一些只能登陆后才能获得的信息,比如这个网站,搞到某个用户下的所有书架信息。先登录上面是一个表单,一般都是post了一些数据到某个地址,于是我们可以通......
  • Cookie&jsp入门
    会话技术1,会话:一次会话中包含多次请求和响应一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止。2,功能:在一次会话范围内多次请求间共享数据。3,方式:1,......
  • cookies可以跨域了~单点登陆(a.com.cn与b.com.cn可以共享cookies)
    如果您的a.com.cn站点需要与b.com.cn站点共享cookies,一般满足这种要求的系统是为了做单点登陆的,现在我来讲一下实现方法:a.com.cn登陆后,写cookies,在b.com.cn里,登陆状态为已经......
  • CURL获取数据-支持cookie模拟登录
    <?php$url='http://abc.com';$method='get';$optionArr=array();$optionArr['cookie']='userid=1641281255339_h8wgml1013;';$result=curlDeal($url,$method,......
  • Cookie与Session
    目录Cookie与Session1、Django操作cookie简单实现用户登录加入装饰器2、Django操作session设置session获取session过期时间清除sessionCookie与SessionHTTP被设计为”⽆......
  • JSP改造Cookie案例以及Session的快速入门
    JSP改造Cookie案例以及Session的快速入门<%@pageimport="java.util.Date"%><%@pageimport="java.text.SimpleDateFormat"%><%@pageimport="java.net.URLEncode......
  • vue无法获取flask设置的cookie
    最近在使用vue3开发基于flask后端的前后端分离项目时候,设置路由守卫时一直无法获取到登录后的cookie中session值但是在浏览器中却可以看到cookie先上代码router.befor......