Session与ToKen的区别

HttpSession概述

session也是一个域对象之一,它的范围是在一个会话范围之类有效,session既然是域对象,那么当然就要有getAttribute()和setAttribute()系列的方法了

Token概述

1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。

2、Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

3、使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

Session与Token的异同

1、Session是存放在服务器端的,可以保存在:内存、数据库、NoSQL中。它采用空间换时间的策略来进行身份识别,若Session没有持久化落地存储,一旦服务器重启,Session数据会丢失。

2、Token是放在客户端存储的,采用了时间换空间策略,它也是无状态的,所以在分布式环境中应用广泛。

技术选型依据业务而来,特定的场景适合特定的业务,一般购物车功能会采用Session验证,接口校验一般会采用Token验证,具体采用何种方法,需要大家根据自己的业务进行选择。

Servlet HttpSessionToken (放在Header中)
支持的客户端浏览器(SessionID)浏览器 , 手机app , 小程序(自定义 , 只要能发http请求的都可以)
生成Tomcat代码自己生成
储存Tomcat储存缓存服务器储存 (都是存入服务器的内存中)
请求如何传递Cookie(标准Header),URL后SeesionIDHTTP header , 自定义Token字段
如何过期按默认或者指定时间:手动设置自定义过期时间,让缓存失效
如何替换不能在用户正在操作但是Token快过期时,自动请求置换重新生成一个新的Token
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值