到底创建了几个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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 推荐几款可以直接在手机上编程的app(包含Java、C、Python等)

    这里介绍几款可以在手机上编程的app,分别是:1.java和Android:AIDE集成开发环境。2.C语言:c语言编译器、C4droid。3.python:QPython3、Termux。4.CSS/HTML/JavaScript:HTMLplay。大部分都不需要root,可以直接编写程序并运行,下面我简单介绍一下这3个app的安装和简单使用,主要内容如下:一.AIDE集…

    2022年4月6日
  • idea的maven插件在哪里_idea使用maven打包

    idea的maven插件在哪里_idea使用maven打包背景esayExcel版本升级

    2022年8月21日
  • intellij 激活码_通用破解码

    intellij 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
  • CSDN更换博客皮肤教程

    CSDN更换博客皮肤教程1.进入博客设置,按F12键打开开发者工具调试页面2.找到博客皮肤的div,鼠标右键编辑HTML3.将checked=“checked”readonly=””剪切到你想要的皮肤里面,这里我是技术黑板的皮肤,之前就改了4.点击左边的页面,可以看到想要的皮肤是选中状态,然后点击保存,皮肤更改成功!…

    2022年7月14日
  • Path API大全

    Path API大全PathAPI                 需要头文件:shlwapi.h其中有一些函数功能存在重复,我在认为比较常用的的函数上加红。 BOOLPathFileExists(LPCTSTRlpszPath)功能:检查文件/路径是否存在  LPTSTRPathFindFileName(LPCTSTRpPath)功能:获得路径中的文件名例

    2022年7月14日
  • 按位取反计算_二进制按位取反怎么算

    按位取反计算_二进制按位取反怎么算(按位取反)运算的理解:按照我平时的理解,当我使用~按位取反运算的时候,计算机会将操作数所对应的二进制表达式的每一个位进行取反计算,取反后所得到的值就是~按位取反的运算结果(这点没问题)例如,假如我的计算机是32位的,我接下来要计算~5的值,计算过程如下:5的二进制表达式为:00000000000000000000000000000101执行~运算,即~5后:11…

    2022年8月15日

发表回复

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

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