几天前,我在一家为.net开发者服务的软件公司接受采访。在那里,我被问到以下问题:
如果我们关闭浏览器窗口而不进行注销,那么当我们在浏览器中提供相同的URL时会发生什么?
我的回答是,用户将能够查看主页的登录详细信息,而不是提示提供用户名和密码,因为用户的会话尚未结束。登录信息实际上将从cookie中检索。但这取决于我们为登录实现的逻辑。
但面试官似乎对我的回答不满意,也不接受我的回答。我想知道这个问题的答案是什么。所以,我需要你对正确答案的善意指导。所以请解释一下我应该回答什么。
发布于 2014-02-08 21:04:22
发生的情况与用户单击浏览器中的刷新按钮时发生的情况相同。
在http中有两种维护会话的典型方法:
当然还有其他场景,如单页应用程序(或运行在浏览器插件中的应用程序,如flash或古老的applet),而且在这种场景中没有通用的答案,因为所有这些都取决于应用程序实现的逻辑。
发布于 2014-01-26 16:31:06
我认为有五种情况:
浏览器窗口的含义可能是浏览器的选项卡,用户不会丢失会话。因此,如果他重定向到url,就不会有登录屏幕。
开发人员可以在数据库和用户信息(ip、浏览器类型、浏览器指纹等)中保留一个标志,并可以直接对用户进行身份验证。
3.浏览器窗口的含义可能是整个浏览器本身。而且,如果开发人员不使用cookie,用户将无法进行身份验证。
开发人员可以使用cookie,如果用户关闭计算机,就会直接对其进行身份验证。
最后,一个理论,但我不确定它。服务器通过考虑用户的操作来终止会话。因此,如果用户可以关闭并重新打开浏览器,使浏览器不能在后台服务(etcs、windows服务)上停止,则可以对用户进行身份验证。
https://softwareengineering.stackexchange.com/questions/225541
复制相似问题