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