Session原理淺析


什么是Sesson?

簡單說就是一個會話級的cookie,外加服務器端內存中一組散列表。

當你關閉瀏覽器的時候,這個cookie將消失。

這個cookie不寫在磁盤上,而是存在於瀏覽器緩存。

 

關於Session的傳說

傳說中,Web應用程序中的Session和Application保存服務器端,而cookie保存在客戶端。

其實Session同時存在於客戶端與服務器端。

開發中如果你已經寫了一個Session,打開火狐瀏覽器,清理cookie的時候你會找到一個session_id(java開發者會看到JSESSIONID)的cookie,刪除他后Session將失效。

如果你打開的是IE瀏覽器,清理cookie后Session依然存在,我不知道IE是怎么處理的,也許它只從磁盤里去清理。

 

Session實現原理

1、創建Session的時候,服務器將生成一個唯一的sessionid然后用它生成一個關閉瀏覽器就會失效的cookie。

2、然后再將一個與這個sessionid關聯的數據項加入散列表。

    例如這樣一段代碼:Session["UserName"]=23;

    假設sessionid為123那么散列表中會追加一行

     sessionid          username

     123                  23

3、當瀏覽器端提交到服務器時,會通過sessionid=123去散列表中尋找屬於該用戶的Session信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM