cookie and session

cookie保存在客户端
客户端访问服务端时,服务端会将cookie消息封装到响应头中返回给客户端,
当客户端再次访问服务器时,在请求头中会携带cookie消息(浏览器会默认携带,且对同一个资源路径下的请求都会携带),
这样服务器就能识别这个客户端做相对应得操作。

seesion保存在服务端
客户端第一次访问服务器时,服务端生成session对象保存客户端相关信息,并把sessionid通过cookie封装到响应头中
返回给客户端,当客户端再次访问服务器时,请求头中携带的cookie会有sessionid,这样服务器就能通过seesionid
获取客户端相关信息,然后可做比如登录验证等相关操作。

spring boot项目中,当一个请求如下,使用了request.getSession()
@RequestMapping(value = "/test.do", method = RequestMethod.GET)
public String test(HttpServletRequest request){
    HttpSession session = request.getSession();
    return "test";
}
则当客户端第一次访问这个接口时,服务端会在响应头中返回
Set-Cookie: JSESSIONID=F01452B4D896202C9DA9482E1A9EF87E;(sessionid) Path=/myTestProject(该sessionid对这一资源路径下的请求都有效)

当客户端下次再访问服务端时,客户端的请求头中会携带以下信息
Cookie: JSESSIONID=F01452B4D896202C9DA9482E1A9EF87E

session登录验证伪代码
第一次登录,保存用户信息
HttpSession session = request.getSession();
session.setAttribute("userName", "jack");
第二次访问服务端,查询到session中已有用户信息,则显示已登录状态
HttpSession session = request.getSession();
Object object = session.getAttribute("userName");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值