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