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

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