网站地图 | RSS订阅 老铁博客 - 上海SEO优化|上海网站建设|蜘蛛池出租|站群代搭建
你的位置:首页 » 网站建设 » 正文

Java Web 应用程序中怎么样进行会话管理

2019-5-18 13:2:7 | 作者:老铁SEO | 0个评论 | 人浏览

  【IT168 资讯】Java Web应用程序的会话管理崩溃会涉及到以下几点:一般流程、Cookie使用情况、URL重写和会话销毁。

  本文将介绍在Java Web app中会话管理的工作原理。为了了解流程的工作原理,先从下面这个图开始:

  3. 服务器识别到请求中没有“会话相关信息/标识符”。所以它创建了一个新的会话(和一个新的会话标识符-JSESSIONID)。

  5. 这时,服务器和客户端都具有与它们相同的会话标识符(JSESSIONID)。

  6. 从这里开始,当浏览器向服务器发送附加请求时,必须将会话标识符(JSESSIONID)作为请求的一部分发送。(注意:每当浏览器向Web服务器发送请求时,同一服务器设置的所有Cookie将自动发送到请求中,因此JSESSIONID cookie也会自动发送到服务器上)

  7. 当服务器获得请求时,它会检查浏览器是否将会话标识符作为请求的一部分发送。如果是,则服务器将请求视为同一会线. 这种关联关系会持续进行,直到会话被破坏(或直到它到期)为止。

  有时,用户/浏览器可能不接受某些服务器的Cookie(出于安全/隐私的原因)。为了处理这种情况,Web服务器还支持在URL中传递会话标识符(URL重写):

  1. 当服务器创建会话时,它“必须”以某种方式将会话标识符发送给客户端(以便客户端可以在后续请求期间将其发送回服务器)。

  2. 最初,服务器不知道客户端是否已经阻截了cookie。所以它以两种方式将JSESSIONID发送给客户端:A. 在一个cookie中

  A. 如果请求包含了JSESSIONID cookie,则表示客户端确实接受了Cookie。因此,服务器可以依靠Cookie进行会话管理并继续。

  B. 如果没有,服务器就会知道Cookie被阻截了,并继续使用URL参数方法(“URL重写”)。

  1. 超时:如果服务器在一段时间内没有收到给定会话的任何请求,则将使会话无效。当用户关闭浏览器或将其打开而没有任何活动时,就会发生这种情况。

  1. Cookie方法:JSESSIONID Cookie是一个“仅限会话”的Cookie,因此浏览器关闭后浏览器会将其删除。因此,如果您打开另一个窗口并访问相同的Web应用程序,则服务器将该请求视为不属于任何会线. URL重写方法:如果您使用JSESSIONID复制URL,请关闭浏览器,打开一个新的浏览器窗口并使用复制的URL。前提是会话没有超时。但这也带来安全风险(JSESSIONID的完整URL被盗用)。这就是为什么Cookie优先于URL重写的原因之一。

  • 本文来自: 老铁博客,转载请保留出处!欢迎发表您的评论
  • 相关标签:web程序  
  • 已有0位网友发表了一针见血的评论,你还等什么?

    必填

    选填

    记住我,下次回复时不用重新输入个人信息

    必填,不填不让过哦,嘻嘻。

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。