2013-10-05 104 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扩展程序,查看并从一台计算机复制饼干到另一台计算机。

乐趣。