session 在什么情况失效

比如时间到了 关闭浏览器等

内网测试 登录后别的人更新了JS 我这边的就得重新登录 为什么。

session通常是通过设置cookie有效期来控制的,也就是说,cookie里保存sessionID的那个部分如果过期失效了,那后端也不会再认为这个session可用了。

当然,以前J2EE用web容器自带的session实现,浏览器关了session也会失效。

所以最终取决于你的后端实现是怎么样的。

最后,“别的人更新了JS 我这边的就得重新登录”,这是什么意思?别人更新js?去哪里更新,怎么更新?

你指的“别人更新了js”,是有人提交了新的js代码,然后重新部署了服务器么?如果是这样,那session过期听起来也蛮好理解的(这种情况看起来就没有使用redismemcached之类的缓存服务了)

session文件存储在服务器端,然后session_id放到浏览器本地以cookie形式存储,根据后端语言设置,失效时间则不同

所以大致有几种情况

  1. 根据失效时间自动失效,然后就删除了服务器端session文件

  2. 手动删除浏览器存储session_id的cookie

    扫描二维码关注公众号,回复: 194403 查看本文章
  3. 手动删除服务器端的session存储文件

  4. 关闭浏览器,浏览器有机制会清楚会话级别的session_id,服务器端其实还是存在的,要等服务器端自动失效,文件才会删除

  5. 语言级别的:后端语言清空session变量


猜你喜欢

转载自blog.csdn.net/czh500/article/details/80216909