2013-10-05 40 views
1

從這篇文章http://www.codeproject.com/Articles/5892/Session-Management-in-ASP-NET我已經認識到會話存儲在cookie的瀏覽器(讓剛剛假設無Cookie = false),而它是如何用於未來通信克服web.I的無狀態特性有一個疑問 - 在哪裏會議由代碼創建(例如Session [「abc」] =「測試數據」)存儲?它們只存儲在服務器上還是存儲在cookie中(這是極不可能的)?如果它們存儲在服務器上,它們存儲在哪裏?如何通過爲特定用戶識別的代碼創建會話?IIS在哪裏存儲用戶創建的會話?

在此先感謝。當要求「www.facebook.com/home」都被送到不同的頁面

+0

可能的重複[IIS如何識別.NET中的不同會話?](http://stackoverflow.com/questions/3521311/how-does-iis-recognize-different-sessions-in-net) –

+0

謝謝黑色青蛙。但我已經經歷了這一點。不解釋代碼創建會話如何由IIS處理。或者我錯過了一些東西。 – Atin

回答

1

Session["abc"]="test data" is Stored in RAM by default as for ASP.net

兩個不同的Facebook用戶,例如USER1將他的個人資料信息,用戶2將有不同的配置文件。

那麼什麼是流量 - >

  • user1的日誌中www.abc.com。
  • 服務器保存的SessionID darw12sxa3towkoiuhztcf0c在user1的瀏覽器的cookies。
  • 服務器映射darw12sxa3towkoiuhztcf0c到user1的內存中。
  • 下一頁所有user1的URL請求都會有這樣的SessionID,所以服務器可以識別darw12sxa3towkoiuhztcf0c被映射到對應於他user1和提供網頁。當www.abc.com日誌分配一個不同的會話ID
  • user2的說pvsc5msqma5nrusmdnn2y13n ......等等。

一些信息

  • 造成相應的這個會話ID的所有會話數據都存儲在默認的RAM Asp.Net.Website管理員可以將其更改爲其他手段。
  • Sessionid存儲爲與域名相對應的Cookie。
  • 這些SessionID的轉移是通過網絡爲每個Web請求,所以它是vunerable在中間可以使用這些會話ID作爲人的攻擊,那麼爲什麼HTTPS進入圖片和天節省的原因之一。

嘗試使用Edit this Cookie Chrome擴展程序,查看並從一臺計算機複製餅乾到另一臺計算機。

樂趣。