session和cookie的关系:
Cookie中的SessionId:客户第一次发送请求给服务器,此时服务器产生一个唯一的sessionID,并返回给客户端(通过cookie),此时的cookie并没有setMaxAge();只是保存于客户端的内存中,并与一个浏览器窗口对应着,由于HTTP协议的特性,这一次连接就断开了,以后此客户端再发送请求给服务器的时候,就会在请求request中携带cookie,浏览器把请求的网址连同该Cookie一同提交给服务器。由于Cookie中有sessionID,服务器检查该Cookie,就知道这是刚才那个客户,以此来辨认用户状态,从而区分不同的人。另外服务器还可以根据需要修改Cookie的内容。
Cookie和Session的方案虽然分别属于客户端和服务端,但是服务端的Session的实现对客户端的Cookie是有依赖关系的~服务端执行Session机制时候会生成Session的id值,这个id值会发送给客户端,客户端每次请求都会把这个id值放到http请求的头部发送给服务端,而这个id值在客户端会保存下来,保存的容器就是Cookie, 因此当我们完全禁掉浏览器的Cookie的时候,服务端的Session也会不能正常使用。