HTTP会话的作用域到底是什么?
我一直在谷歌搜索,但似乎得不到直接的答案-会话应该被清除“当用户关闭他们的浏览器”,但我不清楚-这是否意味着关闭浏览器窗口,或退出浏览器应用程序?同时打开两个浏览器窗口的用户是否会维护两个不同的会话?如果是同一个会话,浏览器选项卡总是分开的吗?
发布于 2012-01-18 05:23:53
这将取决于您如何在应用程序中跟踪会话。
默认情况下,它们由HttpOnly cookies跟踪。这意味着如果用户关闭当前选项卡,他不会丢失会话。但是,如果他关闭了浏览器,他就会丢失会话。
如果您使用无cookieless模式来跟踪会话(cookieless="true"
),ASP.NET将向所有urls附加一个自定义令牌,这意味着用户可以在同一浏览器实例的两个不同选项卡上使用两个不同的会话进行登录。
发布于 2012-01-18 05:23:41
你所有问题的答案都是“视情况而定”。
多个浏览器窗口可以是多个会话,也可以是同一个会话。这取决于浏览器行为和打开窗口的方式。
在IE中,有一个用于“新窗口”的菜单选项和一个用于“新会话”的菜单选项。“new window”选项将保留相同的会话,“new session”选项将打开一个具有不同会话的新窗口。您还可以在IE中通过在启动浏览器时按住Shift键来获取新会话。
如果必须确保所有会话都已结束,请关闭所有浏览器窗口。
发布于 2012-01-18 05:23:45
会话cookie通常在整个浏览器退出时被删除。由于多个选项卡/窗口共享相同的cookie,因此这些选项卡/窗口将使用相同的会话。
但是,应用程序也可以通过URL传递会话标识符。在这种情况下,只要您不通过具有有效会话id的链接打开它,每个选项卡/窗口都会有自己的会话。
https://stackoverflow.com/questions/8901884
复制相似问题