一、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的作用范圍及生命周期由服務器設定