面试常问|session,token,cookie,sessionstorage,localstorage的区别

目录

cookie,sessionstorage,lacalstorage的区别

cookie和session区别

token和session区别

token 和 JWT 的区别


cookie,sessionstorage,lacalstorage的区别

共同点:Cookie、SessionStorage、 LocalStorage 都是浏览器本地存储的方式,数据存储在浏览器本地

区别:5个

  • 写入方式:cookie是由服务器端写入的,而SessionStorage、 LocalStorage都是由前端写入的
  • 生命周期:cookie的生命周期是由服务器端在写入的时候就设置好的,LocalStorage是写入就一直存在,除非手动清除,SessionStorage是在当前页面会话有效,页面关闭的时候就会自动清除
  • 存储数据大小:cookie最多存储4kb数据,sessionstorage和localstorage能存储5M或更大数据
  • 与服务端交互:客户端每次请求都会自动携带cookie发送给服务器端,但是SessionStorage、 LocalStorage不会
  • 共享范围:Cookie、SessionStorage、 LocalStorage数据共享都遵循同源原则,SessionStorage还限制必须是同一个页面

加分项:

由于它们的以上区别,所以它们的应用场景也不同,Cookie一般用于存储登录验证信息SessionID或者token,LocalStorage常用于存储不易变动的数据,减轻服务器的压力,SessionStorage可以用来检测用户是否是刷新进入页面,如音乐播放器恢复播放进度条的功能。

cookie和session区别

区别:4个

  • 数据存放位置及安全性:Session 比 Cookie 安全,Session 是存储在服务器端的,Cookie 是存储在客户端的
  • 存取值的类型: cookie只支持存取字符串数据,想要设置其他类型的数据,需要将其转换成字符串,Session 可以存任意数据类型。
  • 生命周期: Cookie 可设置为长时间保持,比如我们经常使用的默认登录功能,Session 一般失效时间较短,客户端关闭(默认情况下)或者 Session 超时都会失效。
  • 存储数据大小: 单个 Cookie 保存的数据不能超过 4K,Session 可存储数据远高于 Cookie,但是当访问量过多,会占用过多的服务器资源,影响服务器性能

个人建议: 将用户登录信息,如用户名密码用session存储,其他需要保留的登录验证信息如sessionID token用cookie存储

token和session区别

区别:

  • 服务端无状态:session是用于记录服务器和客户端会话状态的机制,在服务端保存状态,可以记录会话信息;token令牌是访问资源接口时所需的资源凭证,token使服务端无状态化,不存储会话信息
  • 安全性:token作为身份认证比session更加安全,因为每个请求都有签名,能有效防止监听和重放攻击
  • 跨域:session只提供一种简单的认证,sessionID只能存在站方,不能共享给其他网站或第三方app,而token可以提供认证和授权,可以供第三方调用API接口或共享用户数据

token 和 JWT 的区别

相同点:

都是访问资源的令牌
都可以记录用户的信息
都是使服务端无状态化
都是只有验证成功后,客户端才能访问服务端上受保护的资源

不同点:
Token: 服务端验证客户端发送过来的 Token 时,还需要查询数据库获取用户信息,然后验证 Token 是否有效。

JWT: 将 Token 和 Payload 加密后存储于客户端,服务端只需要使用密钥解密进行校验(校验也是 JWT 自己实现的)即可,不需要查询或者减少查询数据库,因为 JWT 自包含了用户信息和加密的数据。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值