HTTP協議之使用Cookie的狀態管理

HTTP是無狀態協議,它不對以前發生過的請求和響應的狀態進行管理。也就是說,沒法根據以前的狀態進行本次的請求處理。假設要求登陸認證的Web頁面自己沒法進行狀態的管理(不記錄已登陸的狀態),那麼每次跳轉新頁面不是要再次登陸,就是要在每次請求報文中附加參數來管理登陸狀態。服務器

不能否認,無狀態協議固然也有它的優勢。因爲沒必要保存狀態,天然可減小服務器的CPU及內存資源的消耗。從另外一側面來講,也正是由於HTTP協議自己是很是簡單的,因此纔會被應用在各類場景裏。spa

保留無狀態協議這個特徵的同時又要解決相似的矛盾問題,因而引入了Cookie技術。Cookie技術經過在請求和響應報文中寫入Cookie信息來控制客戶端的狀態。Cookie會根據從服務器端發送的響應報文內的一個叫作Set-Cookie的首部字段信息,通知客戶端保存 Cookie。當下次客戶端再往該服務器發送請求時,客戶端會自動在請求報文中加入Cookie值後發送出去。服務器端發現客戶端發送過來的Cookie後,會去檢查到底是從哪個客戶端發來的鏈接請求,而後對比服務器上的記錄,最後獲得以前的狀態信息。內存



上圖展現了發生Cookie交互的情景,HTTP請求報文和響應報文的內容以下:資源



相關文章
相關標籤/搜索