首页 > 为什么桌面和Web应用有不同的账户重登录策略

为什么桌面和Web应用有不同的账户重登录策略

桌面应用如qq,一般不允许同样的账号同时登陆,后者会使前面登陆失效(掉线)

而Web应用不尽然,比如邮箱等,他不在乎你多少个同样账号的用户登录。

可能有例外,但是据我观察,好像主流都这样,有没有什么深层次的原因?


主要是成本问题。
判断是否已登录主要的手段有使用长连接如TCP,连接断开则认为用户下线,或者让客户端定时发送心跳,如果在一定时间内没收到心跳则认为用户下线,这两种手段在Web应用上都不太好使。
首先HTTP session对连接没有强要求,多个请求既可以在同一个keep alive连接上传送,也一颗在多个短连接上分开传送,并不按“连接”严格区分,浏览器本身也会有一些断开重连的策略;其次,发送定时心跳需要客户端,也就是浏览器配合,浏览器端运行的JavaScript并不能准确判断两个独立的标签/窗口是不是属于同一个session,如果误判则用户会被自己踢下线,严重影响体验。
因为这个功能在Web应用上很难做好,所以一般也就不做这个功能了。

【热门文章】
【热门文章】