您的位置:首页 > 其它

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

2016-10-29 23:03 211 查看
我们已经知道HTTP定义的事务处理由四个部分组成:

1. 客户端和服务器端建立连接;

2. 客户端发送HTTP请求;

3. 服务器端接受客户端的HTTP请求,生成HTTP响应回发;

4. 服务器关闭连接。客户端解析回发响应,恢复页面。

通过这些步骤我们可以知道HTTP协议使用的是无状态的连接。客户端浏览器与服务器建立连接、发出请求、得到响应、然后关闭连接。换句话说,连接只针对一个请求/响应。由于连接不会持久保留,所以容器认不出第二个请求的客户与做前一个请求的客户是否为同一个人。对容器而言,每一个请求都来自于一个新的客户。

某些Web应用中是不需要记录客户端信息的。例如:一个网上书店的书籍目录,不需要维护客户端的状态信息,客户只需要浏览查看就可以了。但是对于一些客户与服务器交互的Web应用程序。例如:网上书店的购物车就必须保留客户端的状态信息。因为对于客户的每一次向购物车中添加书籍、删除书籍,服务器都要对请求进行追踪以确定是否为同一个人。

在Web编程中提出了几种对Web应用状态管理的方法:

1.隐藏字段

2.Cookie

3.Session

4.URL重写

学习的重点在Cookie和Session。隐藏字段和URL就做简单的介绍。

表单隐藏字段:

1:对用户在网站上的访问进行会话跟踪。

2:为服务器端程序提供预定义的输入。

3:存储动态产生的页面上下文信息。

不足的地方是这种方法不安全,可以在查看源代码中看到。



URL重写:只有在Cookie禁用时使用。

Session对象的正常使用要依赖于Cookie

URL地址重写能够取得置于Cookie中的会话,并把会话ID附加到访问应用的各个URL最后。

URL重写方法:

response.encodeURL()

response.encodeRedirectURL(URL);

URL重写是容器自动完成的,但需要我们对URL进行编码才有效
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: