http协议里面session的管理

Problem

http 协议是无状态的,每个GET 请求,都会进行以下三步:

1.打开一个与web 服务器的连接

2.下载相关数据

3.关闭 连接

对于一个嵌套图片或frame 这样的的多文档组成的页面来说,这些操作是相当耗时的,嵌套的每个页面和页面上的图片都要与服务器进行一次单独请求.

HTTP 1.1

http1.1 将试图解决以下条件下产生的问题:

1.一个连接一直保持打开状态

2.同一浏览器的请求可能只用一个连接

3.一个连接将自动关闭,如果一段时间不处于活动状态

4.同样的一个请求可能被多个页面重复发送

5.Session 管理的问题不能解决

Session management

应用程序状态维持

分布式应用程序的每个分布组件将维持一个状态

web 应用程序期望的的状态

典型的web 应用,比如购物车,服务器端,很希望有张可以维持到支付时用的物品清单

web 对持久状态支持的几乎疲乏

Stateful server(持久状态的服务器)

在一个 c/s 的应用中,服务器端状态的信息

Stateless server(无状态服务器)

在一个 c/s 的应用中,服务器端状态的信息

Static Web documents(静态web文档)

两边都不需要维持状态.http1.0 就是这样设计的

CGI Applications

CGI 应用程序运行时状态是随HTTP session 的变化

CGI应用程序的生命周期是随http session 的周期

Web Applications

状态的维持要通过CGI 应用

浏览器要维护一个状态信息

浏览器不能保存服务器的所有状态信息,他只保存或者 发送一个值给服务器

浏览器保存或者发送个服务器的值不能太敏感,不能是认证信息或认证数字 

State information(状态信息)

浏览器可以将状态信息保存到:

Cookies

Hidden form fields

URL rewriting

Challenge/response

未完...

来自:http://jan.netcomp.monash.edu.au/ecommerce/session.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章