ASP.NET Session的实现原理分析
ASP.NET Session的实现原理分析
用户向服务器提交请求时,服务器都会给每个用户分配一个SessionId,保存在用户浏览器的Cookies中,SessionId是全局的,也就是说只要Cookies还存在,服务器就会认为这是同一个用户,从而实现了每个用户都有自己独立的全局Session域。当用户再去请求的时候,在http头把这个SessionID的Cookie发到服务器端,服务器就去找这个SessionID,如果找到了。就证明这个用户的状态是存在的。
我们可以通过以下实验更清除的了解Session:
点击按钮后页面回传,但是输出的依然是相同的SessionId
在浏览器的Cookies中我们找到的服务器在客户端为我们这个用户保存的SessionId,每次我们请求时服务器就以这个SessionId作为key在服务器端的Session中寻找属于我们这个用户的Session域。