一句话:session放在服务器,cookie放在浏览器
使用session和cookie 的目的 就是为了记录用户的登录状态
session放在服务器里面,通过一个session Id来获取session存放的值
我们看看java里面的 HttpSession 的接口,提供了一个 getId
的方法,我们在 servlet里面调用 request.getSession.getId()
来打印一下 session 的id号
同时,我们使用 postman 接口工具发送一个 post请求
运行后如下图所示:
我们会发现, 在浏览器的cookie里面记录着session Id,也就是说,用户的cookie里面记录着session Id,每一次访问服务器,服务器都可以根据session Id 来获取其记录的信息
当用户关闭浏览器时,再打开浏览器,可能就访问不到之前的session了
Cookie分为两种,一种是会话 Cookie,关闭浏览器就销毁掉了,而登录网页时,后台发现用户没有 sessionId,会再发一个 sessionId 给用户
而原先的session等到它的默认时间到之后,便会自动销毁。
因此 session是基于Cookie的