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进行编码才有效
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进行编码才有效
相关文章推荐
- Web 应用程序状态管理
- 创建和管理有状态 Web 应用程序
- Web应用程序状态管理
- Web应用程序状态管理
- Web应用程序状态管理
- JavaWeb(四)-----Web 应用程序状态管理
- ASP应用程序设计的Web状态管理分析
- web应用程序状态管理
- web应用程序状态管理
- JavaWeb应用程序状态管理
- WEB应用程序状态管理
- web 应用程序状态管理
- WEB应用程序状态管理
- WEB应用程序状态管理
- web应用程序状态管理
- ASP应用程序设计的Web状态管理分析
- 创建和管理有状态 Web 应用程序
- ASP.NET创建Web服务管理Web服务状态
- Java Web 第五天 Web状态管理
- 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 // 节中包括 System.Web.SessionStateMod 或自定义会话状态模块 -