这个网页http://www.w3schools.com/ASP/prop_sessionid.asp说明会在服务器端生成一个会话ID。如果是这样的话,那么服务器如何知道第二次请求响应周期中仍然是同一个客户端呢?当然,SessionId应该在客户端生成,以便客户端确保将相同的值传递给服务器。
Session ID是由服务器端生成的,但存储在客户端的Cookie中。每当客户端向服务器发出请求时,Session ID用于验证客户端的现有会话。
会话ID通常在服务器上生成。然后将其作为HTTP头中的cookie发送到客户端,或者将其包含在HTML中,例如:链接变为href=my.html?sessionid=1234。
客户端的下一个请求将包含会话ID,可以通过cookie或GET请求的方式进行传递。
如果不存在会话 ID,则服务器将生成一个。但一旦生成,客户端可以将该 ID 传回服务器。如果客户端修改了该 ID,则可能会从服务器获得错误,并生成新的 ID。
服务器会生成ID,然后客户端将其存储在会话cookie中,服务器在随后的请求中提取该cookie。
如果服务器以无cookie模式运行,则会话密钥成为URL的一部分,并由服务器从其中解析。
补充说明:如果服务器期望使用会话cookie但客户端禁用了cookie,则从服务器的角度来看,所有请求都是新会话,因为它无法确定这是同一用户。