我有一个问题,在登录会话中,客户端必须维护任何内容,以便服务器唯一地标识客户端,并在多个客户端请求响应正确的客户端。我不明白这个会话和cookie。我问过很多关于这个问题的人说它维护会话的服务器工作和客户端只是发送正常的请求。
答案 0 :(得分:1)
是的,客户必须跟踪某些内容,称为会话ID。最常见的是,它是一个cookie。但是,较少使用的方法是重写所有链接以传递URL中的会话ID。
示例ID名称是ASP.NET_SessionId和PHPSESSID。
答案 1 :(得分:0)
马修的回答是正确的。
跟踪登录会话是服务器的工作,而客户端Web浏览器的工作是跟踪cookie。当您提供用户名&站点上的密码,Web服务器向您的浏览器提供cookie,该cookie将随后与Web服务器的后续请求一起提供。此cookie唯一标识属于站点上特定用户的会话(甚至是“访客”用户)。因此,服务器会跟踪所有客户端会话,并且每个客户端都会记住其会话cookie&提供它及其所有要求。这是一个简单的计划。例如,使用Firebug,您可以查看登录站点时Web请求的外观。你可能会觉得有趣的是看。
答案 2 :(得分:0)
这是维护会话的服务器。服务器负责允许会话跟踪发生。客户无需担心明确发送任何信息。由于Cliens还会发送保存在客户端上的Cookie以及每个请求,因此服务器可能会使用Cookies for sesssion tracking
。
Note:
Cookie只是实现会话跟踪的方法之一。这也是最好的方式
因此服务器Cookies
是处理会话跟踪的方法之一。
也可以通过其他方式完成:
URL rewriting
- 应用程序/服务器应在所有URL的/ Links中附加会话ID。当从客户端调用这些会话时,会话将与URL一起到达服务器。Hidden Form Fields
- 表单可能包含隐藏的输入类型,其会话ID为字段值。发布表单时,会话ID随表单数据一起提供。