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");