65.9K
CodeProject 正在变化。 阅读更多。
Home

浏览器窗口关闭时的会话过期

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2013 年 10 月 11 日

CPOL
viewsIcon

6814

你是否想过当用户关闭浏览器窗口时会发生什么?在此期间,用户正在与网站交互,他的会话是活跃的,

你是否想过当用户关闭浏览器窗口时会发生什么?在此期间,用户正在与网站交互,他的会话是活跃的,一切都运行良好。但是,我们的“服务器”如何知道用户已经关闭了窗口,会话不再活跃?请阅读以下内容来揭开这个谜团..

每当浏览器向服务器请求页面/资源时,该请求都会附带一个特定的 SessionID,并且会话计时器开始启动。正是这个 ID 标识了来自同一用户的后续请求。现在,当用户在等于会话超时时间(默认 20 分钟)的时间内保持空闲状态时,会话将在服务器端过期,如果在超时后发出请求,则会生成一个新的 SessionID。

但是,如果用户突然或错误地关闭了他的窗口,SessionID 将在服务器端保持活跃状态,认为用户处于空闲状态。在针对此特定 SessionID 的会话超时之前,它无法用于另一个请求。一旦会话超时,SessionID 就可以再次用于处理新的网络请求。

 感谢阅读!! 

© . All rights reserved.