WEB开发网
开发学院软件开发Java Go-ForIt 记事:eXtreme DragonSlayers 专题报告,... 阅读

Go-ForIt 记事:eXtreme DragonSlayers 专题报告,第 3 部分: 会话管理、servlet 和维护状态

 2009-11-06 00:00:00 来源:WEB开发网   
核心提示: 问题和相关问题的考虑会话是一种存储信息(这种信息将在应用中从头到尾使用)的很容易的方法,但是,Go-ForIt 记事:eXtreme DragonSlayers 专题报告,第 3 部分: 会话管理、servlet 和维护状态(9), 会话仍有一些要考虑的缺点,最重要的是,或找到其它永久存储数据的

问题和相关问题的考虑

会话是一种存储信息(这种信息将在应用中从头到尾使用)的很容易的方法。但是, 会话仍有一些要考虑的缺点。

最重要的是,记住会话将它们的标识作为 cookie 存储在客户机上。如果用户已经在它们的机器上禁用了 cookie,您可能需要多采取一些步骤跟踪这个用户。您可以将标识放在网页位置中传送,在这种情况下,缺点是您需要动态地生成整个站点的每一个链接,以包含这个标识。这不仅麻烦,而且带书签的页面将拥有一个老的标识(每个会话生成一个新标识)。

因为数据是存储在服务器上,如果您由于某种原因需要重新启动服务器,当前用户正使用的数据将会丢失。相似地,如果您正在通过群集几个计算机来实现负载平衡,那么会话数据只存储在创建它的计算机上。因为负载平衡通过将用户发送到任意机器来分散工作负载,所以无法保证访问一个机器上的站点的用户将在下一个页面请求中命中同一个机器。解决这个问题要求 会话亲缘关系,它使得会话数据只持久化到一个资源库中去。它可以给予您无限地存储会话数据的能力,使您的会话数据不仅可以在重新启动后检索,还可以从群集中许多机器中的任意一个检索。这只需要一些额外的步骤。

另外,记住访问存储的数据并没有使用真正的验证。从技术上来说,标识可以被另一个用户模仿, 原始用户的会话可能会被劫持。如果正在 URL 中传送标识,更容易发生这种情况。

出于安全性和不稳定性风险的考虑,知道什么东西适合或不适合存储在会话中很重要。 会话数据可用于大大简化信息的访问。但对于敏感的信息或很难检索的数据,如果会话丢失, 您可能希望使用其它的方法安全地检索信息,或找到其它永久存储数据的方法。

别走开......


敬请关注我们的 Go-ForIt 记事的下一篇文章,其中我们将讨论客户端的 bean。

上一页  4 5 6 7 8 9 

Tags:Go ForIt 记事

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接