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

问下 如果 你自己没有 主动 put cookie 到 session,服务器比如 Tomcat 是怎么判断是否 登录的呢?

比如 有效时间是 1 小时 

自己的 controller 不做 其他操作,只 put user 进 session,那  之后 服务器判断登陆的   原理 是 什么呢?


慕盖茨4494581
浏览 115回答 2
2回答

慕田峪9158850

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

幕布斯7119047

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