到底创建了几个Session

到底创建了几个Session

大家好,又见面了,我是全栈君。

问:浏览器访问一个站点,产生一个session,接着进行以下操作:
1、在同一个浏览器新打开一个tab卡,访问同一站点,此时几个session
2、将新打开的tab卡拖拽出来,成为两个浏览器的时候,创建了几个session
3、换一个浏览器,访问同一个站点,此时几个session
4、HttpSession、HttpServletRequest.getSession()、HttpServletRequest.getSession(true)、HttpServletRequest.getSession(false)是不是同一个session?

先看产生的第一个session

访问本地的tomcat,将第一次的sessionId存如session,可以看到四个sessionId相同。

img_76582c8fded94c7fd1127fa7ead9e51e.png

新打开tab,比较两个sessionId

img_f62c395a9af0d378fce6892699512c8a.png


发现两个tab卡的sessionId也是相同的

拖拽出来之后

发现两个sessionId依然相同

img_661f0ebeb416ed63a01f3d57c7714589.png

换FF再打开

终于和之前的不一样了。

img_06d4b9fc213e03019e0bbed4eb7c9bb4.png

总结

1.对于同一个浏览器,在不清除cookie、缓存、关闭浏览器的前提下,如果没到失效时间,session都是同一个
2.拖拽出来之后,session依然是同一个
3.换一个浏览器,session改变
4.HttpSession、HttpServletRequest.getSession()、HttpServletRequest.getSession(true)、HttpServletRequest.getSession(false)获取到的是同一个session

题外话

session存在于服务端,由于http是无状态的,服务端无法区别请求由哪个客户端发送,最终还是依赖cookie,每次发送请求携带一个JSESSIONID,即服务端获取的sessionId,唯一标识一个客户端请求。

img_b777415916eb988e6c46796d427f8675.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108078.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月7日 下午11:00
下一篇 2022年3月7日 下午11:00


相关推荐

  • ICEM对装配体进行网格划分实例「建议收藏」

    ICEM对装配体进行网格划分实例「建议收藏」1.建立简单的装配体,保存为stp格式注:solidworks2016开始无法打开或保存为其他格式(igs,stp).从某一个网页上看到的攻略可以了(衷心感谢)注册表HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer:建立一个RemappedElevatedProxiesPolicy,并赋值为1.然后点开安装包

    2022年5月9日
    197
  • NoSQL数据库的五种分类

    NoSQL数据库的五种分类NoSQL 数据库分为五种 键值数据库 文档数据库 列式数据库 图数据库 全文搜索引擎数据库

    2025年9月12日
    5
  • C++下截取字符串「建议收藏」

    C++下截取字符串「建议收藏」std::string::substrstringsubstr(size_tpos=0,size_tlen=npos)const;功能:按照条件截取字符串参数:pos=截取起始位      len=截取长度用法1:截取下标从2(第3个字符)开始到字符串结尾的字符串stringstr=”ABCDEFG”;str

    2022年5月19日
    40
  • java和mysql实现学生成绩管理系统(学生信息管理系统课程设计)

    Java+MySQL实现学生管理系统实现一个学生管理系统,方便老师对学生信息进行统计管理用户登录功能学生管理功能完善界面交互数据持久可靠设计思路使用Java作为开发语言,MySQL作为数据库,JavaSwing做图形界面;分层解耦,分为entity(实体层,映射数据库具体表)、dal(数据库访问,对数据库工具类封装)、dao(持久层,同数据库交互)、gui…

    2022年4月12日
    506
  • freemarker中的round、floor和ceiling数字的舍入处理

    freemarker中的round、floor和ceiling数字的舍入处理

    2021年11月15日
    46
  • 滴滴大脑告诉你,每一次派单背后都经历了什么[通俗易懂]

    滴滴大脑告诉你,每一次派单背后都经历了什么[通俗易懂]CNET科技资讯网2月23日北京消息:滴滴研究院副院长叶杰平近日在上海一场内部分享会上详解滴滴大脑,这是外部首次窥探到较为完整的滴滴算法世界,并且一直潜水的产品“九霄”也首次露出真容。滴滴大脑由三部分组成叶杰平将滴滴大脑这个智能系统分为三部分,分别是大数据、机器学习和云计算。其中大数据就像工业革命时代的煤一样举足轻重,人工智能需要数据进行…

    2022年5月5日
    77

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号