【发布时间】:2011-01-17 09:37:24
【问题描述】:
在 ASP.NET 中,我对 cookie 在会话状态中的角色有点困惑。 普通会话状态和无cookie会话状态有什么区别?
【问题讨论】:
标签: asp.net
在 ASP.NET 中,我对 cookie 在会话状态中的角色有点困惑。 普通会话状态和无cookie会话状态有什么区别?
【问题讨论】:
标签: asp.net
无cookie会话不使用cookie是用户的浏览器来存储会话状态。相反,它将会话存储在页面本身或 url 中。在此处阅读comparison。
【讨论】:
cookieless 意味着 sessionId 被嵌入到每个请求的 url 中,而不是在浏览器上设置 cookie。
【讨论】:
正常会话状态涉及提供 cookie。 cookie 包含一个会话标识符,网站使用该标识符将访问者与其各自的会话值相匹配。
无 Cookie 会话状态使用相同的原则,但不使用 cookie 来传递会话标识符。通常,这是作为查询字符串的参数传递的。
例如
http://www.somewebsite.com/page.aspx?sid=jrkwojeqrojq3op349023231234r23rf2
【讨论】:
ASP.NET 能够修改在页面中找到的相关链接并将会话 ID 嵌入到 URL 中,而不是将其存储在 cookie 中。
因此,只要用户遵循网站提供的链接路径,就可以在不使用 cookie 的情况下保持会话状态。但是,如果最终用户重写 URL,会话状态实例很可能会丢失。
进一步阅读:
【讨论】: