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对象,从而跟踪状态。

你可能感兴趣的:(Java)