session意思是一次对话,是从入某个页面到关闭某个页面的这一时间段的名称。
(1)客户端访问服务器,服务器调用request.getSession()方法,产生session对象,用于跟踪用户的状态。
(2)同时,给session对象分配一个唯一标识sessionId。为了管理session对象,以sessionId为键,以session对象为值,封装成Map集合。
(3)产生响应时,将sessionId以cookie方式发送给客户端,存放在客户端浏览器的缓存中。
(4)当客户端再次请求服务器,会将sessionId以cookie请求头的方式发送给服务器,服务器得到sessionId后,从Map集合中,得到session对象,从而跟踪状态。