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

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

 2009-11-06 00:00:00 来源:WEB开发网   
核心提示: 关于会话的几个要点会话数据存储在服务器上,数据标识和指向该数据的指针作为 cookie 存储在客户机上,Go-ForIt 记事:eXtreme DragonSlayers 专题报告,第 3 部分: 会话管理、servlet 和维护状态(2),对于每一个用户,会话是唯一的,否则,在一个事务回合中收

关于会话的几个要点

会话数据存储在服务器上。

数据标识和指向该数据的指针作为 cookie 存储在客户机上。

对于每一个用户,会话是唯一的,且数据无法被其他用户共享。

对于每一个域,会话是唯一的且单个用户收集的数据无法在多个域中共享。

保存在会话中的数据的生命期,最长是从用户访问域的那一刻到用户在预设的一段不活动时间之后 超时的那一刻。

当客户机连接关闭时(例如,当用户关闭浏览器或其它设备时)会话结束。

可以在更改会话生命期的同时使用户仍处于连接状态,方法是通过程序控制杀死会话或覆盖服务器缺省超时并将其重新设置为更短或更长的时间。

会话适用于单个用户收集和使用的数据,当用户与域进行交互时一般是可用的。但并不“总是”如此。 不要认为会话是安全的,其实它是易失的。例如,重新启动服务器,当前的全部会话都会丢失。在使用会话存储敏感或不容易恢复的数据时,要意识到这一点。

我们为什么需要一个特殊的工具?


您可能知道缺省情况下 HTTP 是无状态的。(HTTP 当然就是在因特网上逛来逛去需要的基本协议;它允许客户机,如浏览器,和服务器互相通信。)HTTP 是无状态的,从本质上来说这意味着它 不记资料。故意这样设计是为使 HTTP 成为一种轻量级、通用的协议。

W3 认可了 HTTP 规范的 4 步过程“连接 > 请求 > 响应 > 关闭”。因特网 ― 或者我们通过浏览器看到的因特网的大部分 ― 起初的设计目的只是为了简单地请求和传输文件。这就出现了问题:将被请求和传输的数据不必一定驻留在静态文件中。

有用的基于 Web 的工具获取由应用(该应用收集关于用户正在做什么的信息)生成的动态内容,并用它更好地预测用户下一步将要做什么。这称为维护状态,是一种保持多个“连接/请求/响应/关闭” 事务间用户信息的方法。否则,在一个事务回合中收集的信息在每次“关闭”时都要被转储。 下图显示了事务路径。

上一页  1 2 3 4 5 6 7  下一页

Tags:Go ForIt 记事

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