实际场景
- 当用户请求网页时,该用户还没有 Session,则Web服务器将自动创建一个 Session 对象
- 用户再次访问网站时,会把自己的 SessionID 作为 Cookie 发送给服务端,服务端根据请求中的 SessionID 来查找对应的 Session
- 当 Session 过期或被放弃后,服务器将终止该 Session
敲重点的知识点
“只要关闭浏览器,Session 就消失了” —— 错!
实际场景:
登录的时候服务器帮你生成了一个 Session,是不会轻易删除你的 Session,除非你自己提出要删除 或 Session有效期过了;一般会通过【退出】来删除触发服务器删除 Session
当我们关闭浏览器时,浏览器是不会通知服务器说它要关闭,所以服务器根本不知道浏览器已关闭,造成这样的误解全都是因为:
- 会话 Cookie ,关闭浏览器 Cookie 就会消失
- 再次打开网站也找不回之前的 SessionID
- 所以无法通过原来的 SessionID 在服务器查找对应用户的登录状态,只能重新登录生成新的 Cookie 来记录新的 SessionID