ASP.NET Session的實現原理分析
用戶向服務器提交請求時,服務器都會給每個用戶分配一個SessionId,保存在用戶瀏覽器的Cookies中,SessionId是全局的,也就是說只要Cookies還存在,服務器就會認為這是同一個用戶,從而實現了每個用戶都有自己獨立的全局Session域。當用戶再去請求的時候,在http頭把這個SessionID的Cookie發到服務器端,服務器就去找這個SessionID,如果找到了。就證明這個用戶的狀態是存在的。
我們可以通過以下實驗更清除的了解Session:
點擊按鈕后頁面回傳,但是輸出的依然是相同的SessionId
在瀏覽器的Cookies中我們找到的服務器在客戶端為我們這個用戶保存的SessionId,每次我們請求時服務器就以這個SessionId作為key在服務器端的Session中尋找屬於我們這個用戶的Session域。