Cookie 和 Session 的工作流程与区别

cookie的工作流程:
客户端访问服务器,服务器调用response.addCookie()方法,产生响应时,会产生set-cookie响应头,将cookie文本发送给客户端,客户端会将cookie文本保存起来,当客户端再次请求服务器时,会产生cookie请求头,将之前服务器发送的cookie信息,再发送给服务器,服务器就可以根据cookie信息跟踪客户端的状态。

cookie的分类:
1 存放在客户端浏览器的缓存中,当浏览器不关闭,cookie信息一起存在,浏览器一关闭,cookie消失
2 存放在客户端的文件中,并可以设置cookie过期时间,过期时间之内,即使浏览器关闭,也可以将cookie信息发送给服务器,超过过期时间,cookie消失。

cookie信息是以文本方式存放在客户端的,所以容易引起一些安全隐患,所以不要把隐秘信息以cookie方式保存。

session的工作流程
客户端访问服务器,服务器调用request.getSession()方法,产生session对象,用于跟踪用户的
状态,同时,给session对象分配一个唯一标识sessionId。为了管理session对象,以sessionId为键,以session对象为值,封装成Map集合。产生响应时,将sessionId以cookie方式发送给客户端,存放在客户端浏览器的缓存中。当客户端再次请求服务器,会将sessionId以cookie请求头的方式发送给服务器,服务器得到sessionId后,从Map集合中,得到session对象,从而跟踪状态。s
cookie 和 scession 的区别
Cookie 和 Session 的工作流程与区别_第1张图片

你可能感兴趣的:(笔记,服务器,java,运维)