首页 > 代码库 > Web应用程序状态管理(上)

Web应用程序状态管理(上)

一:概述
Http协议使用的是无状态连接:客户浏览器与服务器建立连接-发出请求-得到
响应-关闭连接.话句话说,连接只针对一个请求/响应.由于连接不会持久保留
所以容器认不出做第二个请求的客户与做前一个请求的客户是否是同一个人.
对于容器而言,每个请求都来自于一个新的客户.
在Web编程中共有4种方法,解决此问题.
方法一:表单隐藏字段
<input type=‘hidden‘ name=‘session‘ value=http://www.mamicode.com/‘session/>
该项表单的内容表示在提交表单时,指定的名称和值将包含在get和post数据中
,隐藏字段不会影响呈现给用户的页面外关,相反,它们可以储存固定发送给服
务器的固定的名称和值,而不管用户输入如何.
隐藏字段的用途:1.对用户在网上的访问进行会话跟踪2.为服务器端程序提供
预定义的输入3.储存动态的页面上下文信息.
缺点:只有当每个页面都是动态生成的时候才有效.
方法二:Cookie
Cookie是web服务器发送给客户端浏览器的简短文本信息,第一次访问发送,以
后在访问同一个web站点或者域时浏览器会毫无更改地返回该文本信息.通过让
服务器读取以前发送到客户端的信息,Web应用程序就能够为访问者提供许多方
便,缺点:涉及一些敏感的隐私信息.
方法三:URL重写
原因:解决Cookie
客户端将一些格外的数据追加到标识会话的每个URL地址末尾服务器在该标识
符与其储存的有关该会话的数据之间建立关联
方法四:Session
服务器为客户端创建并维护的用于存放客户状态数据的对象,该对象保存在服
务器上,在客户端与服务器连续的交互过程中Session对象一直保持用户的状态
,直到交互过程结束.

Web应用程序状态管理(上)