服务器如何知道哪个会话属于哪个客户端?

时间:2013-12-13 04:13:20

标签: asp.net

在我的办公室,我们有多台计算机,当我们从远程服务器检查每台计算机的IP是什么时,因为它们都来自同一台路由器,所以我得到了相同的IP。

这让我开始考虑服务器如何知道哪个会话属于哪个客户端? 当IP地址相似时,服务器眼中哪台计算机与另一台计算机相同?

谢谢大家!

2 个答案:

答案 0 :(得分:2)

服务器向具有会话ID的用户发送cookie。此会话标识标识服务器的用户。如果关闭cookie,ASP.NET还可以将会话ID附加到查询字符串。

http://msdn.microsoft.com/en-us/magazine/cc163730.aspx

答案 1 :(得分:0)

在客户端向服务器发出的每个请求中, TCP 连接都是在您的情况下具有公共IP地址但不同的端口,并且每个客户端都是在端口的基础上进行区分,将响应发送回客户端。您可以通过here了解有关TCP连接的更多信息。

如果您正在谈论HTTP会话,那么他们会在网址中使用Cookie /查询字符串来识别会话,您可以通过here阅读更多内容。

会话标识符

  

会话由可以读取的唯一标识符标识   使用SessionID属性。为会话状态启用时   ASP.NET应用程序,每个请求应用程序中的页面   检查从浏览器发送的SessionID值。如果没有SessionID   提供了值,ASP.NET启动一个新会话和SessionID   该会话的值将通过响应发送到浏览器。通过   默认情况下,SessionID值存储在cookie中。但是,你可以   还配置应用程序以在URL中存储SessionID值   对于“无cookie”会话,reference