session与cookie如何关联

session的底层是基于cookie实现的。

1.浏览器没有cookie,然后发送请求到服务器

2.服务器接收到请求后,通过request.getSession()方法创建会话对象

(注:此方法第一次调用是创建session会话,以后在session没有被销毁前,再次调用都是获取前面创建的session)。

服务器在每次创建session的时候,也会创建cookie,这个cookie的key永远是JESSIONID。value是创建的session的id。

3.通过响应将新创建的session的id,放在cookie里,传给浏览器。

Set-Cookie:JESSIONID=XXX

4.浏览器解析获取到的数据,就马上创建一个cookie对象。有了cookie之后,再次请求服务器,就会把含有session的id的cookie

传给服务器Cookie:JESSIONID=XXX

5.服务器通过request.getSession方法,通过cookie里面的session的id,找到之前创建好的session对象,返回相应的数据。

你可能感兴趣的:(session与cookie如何关联)