博客
关于我
关闭浏览器后,sessionId是否是之前的sessionId?
阅读量:733 次
发布时间:2019-03-22

本文共 685 字,大约阅读时间需要 2 分钟。


当你在关闭浏览器后发现session数据消失时,以下是分步解释和原因分析:

  • 浏览器与服务器的关系

    • 当你访问网站时,服务器生成一个Session ID,并将这个ID作为JSESSIONID cookie发送给浏览器。
    • 这个cookie随后随着每个后续请求发送回服务器,服务器根据cookie中存储的Session ID找到对应的用户session。
  • 浏览器关闭后发生的事情

    • 关闭浏览器时,浏览器会清除所有 cookies,包括JSESSIONID cookie。
    • 这意味着服务器无法识别那个曾经使用的Session ID,所以会认为该会话已经结束。
  • Session数据存储的位置

    • 由于Session数据被存储在服务器-side memory(如内存或数据库中),它不会自行消失,除非服务器主动销毁该会话。
    • 但由于没有JSESSIONID cookie,服务器无法关联到任何存储的session data。
  • 解决方法

    • 设置长时间存活的cookie:通过在HTTP响应中设置robots.txt以延长JSESSIONID cookie的有效期,可以预防浏览器关闭导致的session数据丢失。
    • 客归原 Wildcard Filter: 配置server-side filters用于检测未经授权的Session访问并及时归还或销毁session。
    • 使用Session Etager: 定期清理旧的、不再使用的Session数据,以防止内存泄漏或安全问题。
  • 通过以上方法,可以更好地管理Session的生命周期,确保在浏览器关闭后session数据能够被正确保存和检索。

    转载地址:http://dnvwk.baihongyu.com/

    你可能感兴趣的文章
    Linux kernel pwn --- CSAW2015 StringIPC
    查看>>
    IDEA 找不到 Persistence窗口解决办法
    查看>>
    Form窗体属性
    查看>>
    vue 错误收集
    查看>>
    00010.02最基础客户信息管理软件(意义类的小项目,练习基础,不涉及数据库)
    查看>>
    00013.05 字符串比较
    查看>>
    Effective Java 读书笔记
    查看>>
    SpringBoot使用@Email报错误
    查看>>
    访问servlet时弹出文件下载框解决方法
    查看>>
    IDEA-@Slf4j和log标签&@Data(Lombok)无效
    查看>>
    SpringCloud-Eureka报错 Error creating bean with name解决
    查看>>
    Thymeleaf 生成下标,索引,使用Stat变量
    查看>>
    初始微服务---Springcloud发展【第一期】
    查看>>
    RAFT 拜占庭将军 共识算法
    查看>>
    UE4 错误列表 error码(只记录我遇到的情况,持续添加,未完成)
    查看>>
    cmd编译.java文件 : java:720: 错误: 编码GBK的不可映射字符 Why ? ? ? ?
    查看>>
    Android 架构组件 – 让天下没有难做的 App
    查看>>
    能解决数据可视化大屏需求的3款可视化工具
    查看>>
    多代理区块链框架客户端的操作
    查看>>
    一些技术博客
    查看>>