我已经注意到我在不同网站上随时间收集的几个cookie。该cookie将命名为:ASPSESSIONIDAQSDTADTG
或类似名称。我意识到ASP会将这些随机生成的字符附加到cookie基础的末尾:ASPSESSIONID
但我从来没有想过为什么会这样。这可能是我错过的一些简单,但在线搜索没有给我答案。我意识到这些cookie试图将自己与众不同,但为什么这是ASP经典的要求?为什么这与ASP.NET的标准ASP.NET_SessionId不同?
答案 0 :(得分:2)
答案 1 :(得分:0)
HTTP是无状态协议。这意味着HTTP服务器将响应每个客户端请求,而不将该请求与先前或后续请求相关联。 RFC 2109向HTTP引入了状态管理机制。
这个RFC基本上引入了两个头指令:Cookie和Set-Cookie。 Set-cookie指令设置会话cookie并发送到客户端浏览器,指示会话的开始。从现在开始,来自此浏览器的每个请求都将在标头中包含Cookie指令,该指令指示请求是当前会话的一部分。
当第一个请求来自客户端浏览器时,它标记新会话的开始。这意味着将创建会话对象,并为服务器上的此会话对象分配会话ID。此会话ID现在以加密形式作为会话cookie发送到浏览器。浏览器将在整个持续时间内将此cookie存储在内存中,直到浏览器关闭。来自浏览器的每个后续请求都会将此cookie作为标题的一部分发送。接收cookie的服务器将知道相应的会话ID,因此知道会话对象。
会话ID是一个只读值,用于唯一标识Web服务器的当前客户端。在传统ASP中,会话ID以顺序方式分配,即会话ID 981249305之后是会话ID 981249306,依此类推。会话ID 981249305的会话cookie将作为cookie
存储在客户端计算机上ASPSESSIONIDJHSDFEKK=KJSHFWEJNDFSERFWERKJNLKE
Classic ASP不支持任何强制更改cookie值的方法。
所以,回答你的问题,这是“随机生成的字符”,这是一种生成以前从未存在过的cookie的方法。