一、Session作用
由于http协议是无状态的,所以服务器不能通过http去识别客户端的状态及其他信息,所以Web Server引入了Session概念m用来保存客户端的状态。
二、Session工作原理
客户端第一次访问服务器时,服务器创建Session保存下该客户端状态信息,并返回Session ID给客户端,客户端在以后的每次请求时都会附带Session ID,服务器则可以通过Session ID识别出当前客户端。
三、如何实现
1、URL重写,服务器在每次回应请求时,即返回response时,检查所有页面中所有URL并在这些URL后附加;jsessionid=XXX, 下次用户在访问页面中的URL时会自动附带jsessionid
2、使用Cookie,如果客户端支持Cookie,Web Server在返回response时可以在Header中使用set-cookie:session=XXX;客户端会自动把cookie存到本地,在客户端下次请求Web Server时会自动将cookie加入到Herder中
四、Session创建时机
客户端第一次访问服务器时创建Session是一种比较宽泛的说法,实际创建Session是在request.getSession()时才会去创建
五、总结
1、http工作模式属于"链接-请求-应答-关闭链接",是一种无状态协议(超文本文档传输协议)
2、Cookie是为了给http增加状态追踪而出现的,但并不是唯一手段
3、Session的作用范围及生命周期由服务器设定