cookie,localstorage,sessionstorage的区别

1.基本属性:

cookie: 可设置失效时间,没有设置的话,默认是关闭浏览器后失效,主要用来保存登录信息
localStorage: 除非被手动清除,否则将会永久保存。
sessionStorage: 仅在当前网页会话下有效,关闭页面或浏览器后就会被清除。同源不共享。刷新页面数据依旧存在。但是页面关闭时,sessionStorage中的数据就会被清空

2.内存大小:

cookie: 4KB 左右 localStorage
localStorage:5M甚至更多
sessionStorage: 可以保存 5MB 的信息

3.缺点:

cookie: 每次都会携带在 HTTP 头中,如果使用cookie 保存过多- 数据会带来性能问题
localStorage 和 sessionStorage: 仅在客户端 (即浏览器) 中保存,不参与和服务器的通信

4.构成:

token 的组成: uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token
的前几位以哈希算法压缩成的一定长度的十六进制字符串)
特点:服务端无状态化、可扩展性好支持移动端设备.安全.支持跨程序调用
每一次请求都需要携带 token,需要把 token 放到 HTTP 的 Header 里
基于 token 的用户认证是一种服务端无状态的认证方式,服务端不用存放 token 数据。用解析
token 的计算时间换取 session 的存储空间,从而减轻服务器的压力,减少频繁的查询数据库

token 完全由应用管理,所以它可以避开同源策略

5.作用域:

cookie:在所有同源窗口中都是共享的
sessionStorage:在同一个浏览器窗口是共享的(不同浏览器,即使是统一页面也不共享)
localStorage:在所有同源窗口中共享

应用场景

cookie:判断用户是否登录过网站,以便实现下次自动登录或记住密码;保存事件信息

sessionStorage:敏感账号一次性登录,单页面用的较多

localStorage:用于长期登录,适于长期保存在本地的数据

同源策略请求

同源:协议相同/域名相同/端口相同
非同源策略请求:跨域问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值