sessionStorage 、localStorage 和 cookie、session

在这里插入图片描述
Http协议是无状态协议,客户每次读取web页,服务器都会打开新的回话,服务器端不会自动维护客户端的上下文信息。

Session:即一种保存上下文信息机制,将客户,变量值保存至服务器端,通过sessionID来区分,session以cookie或url重写为基础,默认使用cookie实现,通过响应头的 Set-Cookie:JSESSIONID=XXX命令,向客户端发送要求设置 Cookie 的响应; 客户端收到响应后,在本机客户端设置了一个 JSESSIONID=XXX的 Cookie 信息,该 Cookie 的过期时间为浏览器会话结束;
在这里插入图片描述
之后客户端每次向同一个网站发送请求时,请求头都会带上cookie信息(包含sessionId),服务器通过读取请求头中的cookie信息,获取名为JESSIONID的值,得到此次请求的sessionId。
Session缺点
A服务器存储了session,就是做了负载均衡后,假如一段时间内A的访问量激增,会转发至B服务器进行访问,但是B服务器没有存储A的session,导致session失效
cookie:
http协议中的Cookie包括web cookie浏览器 cookie
服务器向浏览器发送cookie:通过http响应报文实现
浏览器保存cookie:允许开发者在JavaScript中使用document.cookie来存取cookie。
之后每次http请求浏览器都会将cookie发送至服务器端

  • session cookie 保存至内存中,不会写入硬盘;浏览器关闭Cookie永久丢失
  • persistent cookies 包含有效期,在指定的日期Cookie从磁盘中删除

Session Cookies
回话 Cookies,在session cookies中,用户的登录状态会保存在服务器内存中,当用户登录时,session就被服务器安全创建。每次请求时,服务器都会从回话Cookie中读取SessionId,如果服务器的数据和读取的SessionId相同,那服务器就会发送响应给浏览器,允许用户登录

Json Web Tokens
JWT,通常称为Json令牌;它是RFC 7519中定义的用于安全将信息作为json对象进行传输的一种形式。JWT中的存储的信息经过数字签名,可以信任。可以使用HMAC算法或使用RSA/ECDSA的公用、专用密钥对JWT进行签名。
CSDN

localStorage生命周期是永久,若用户删除在浏览器中的localstorage信息,否则会永远存储于浏览器内。存放数据大小为5MB,仅保存在客户端(浏览器),不参与服务器端。
sessionStorage仅在当下的会话有效,关闭网页或浏览器后被清除;存放数据大小为5KB,同样不参与服务器端通信。
方法:

localStorage和sessionStorage
localStorage.setItem(“key”,“value”)	以“key”为名称存储一个值“value”
localStorage.getItem(“key”)	获取名称为“key”的值
localStorage.removeItem(“key”)	删除名称为“key”的信息。
localStorage.clear()	清空localStorage中所有信息
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值