为了账号安全,请及时绑定邮箱和手机立即绑定

如下情况,请问服务器比如 Tomcat 是怎么判断是否登录的呢?

如下情况,请问服务器比如 Tomcat 是怎么判断是否登录的呢?

慕盖茨4494581 2023-03-31 17:13:29
问下 如果 你自己没有 主动 put cookie 到 session,服务器比如 Tomcat 是怎么判断是否 登录的呢?比如 有效时间是 1 小时 自己的 controller 不做 其他操作,只 put user 进 session,那  之后 服务器判断登陆的   原理 是 什么呢?
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

客户端向服务器发起请求的时候,浏览器就会发送对应域的cookie,这个和你有没有往色丝丝哦你里面放东西无关,里面最常见的就是又一个id,服务器会读取这个id,并且从维护的session对象里面查找对应的session,第一次会查找不到,然后就会新建,这样就完成了对客户端的会话跟踪。 

你往session里面放了东四,服务器给你当前请求的session对象,然后你就可以取出来进行判断等等。


查看完整回答
反对 回复 2023-04-03
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

首先,session是服务端的一个上线文对象,可以保存任何信息,而cookie是一个客户端标记,浏览器在跟服务器交互的时候,服务器可以在头部返回Set-Cookie来让浏览器记住某些数据,但通常的少量的标记数据,在浏览器下次发出请求的时候会带上这些标记,其中最重要的一个标记,名字通常叫JSESSIONID,也就是SESSION的ID,服务端收到这个ID之后去SESSION列表中找到对应的SESSION对象,就完成了客户端与服务器在会话层面的绑定。如果服务端曾经返回过一个SESSIONID,而后来由于某种原因,例如超时,服务器将会话移除了,那么客户端再次请求的时候,虽然携带了SESSIONID,但由于服务端已经移除,所以,等于没带,这个事件就是会话失效。

查看完整回答
反对 回复 2023-04-03
  • 2 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信