Http Cookie機制及Cookie的實現原理

2022-09-26 11:21:31 字數 1517 閱讀 4375

目錄

http是一種無狀態的協議,客戶端與伺服器建立連線並傳輸資料,資料傳輸完成後,連線就會關閉。再次互動資料需要建立新的連線,因此,伺服器無法從連線上跟蹤會話,也無法知道使用者上一次做了什麼。這嚴重阻礙了基於web應用程式的互動,也影響使用者的互動體驗。如:在網路有時候需要使用者登入才進一步操作,使用者輸入使用者名稱密碼登入後,瀏覽了幾個頁面,由於http的無狀態性,伺服器並不知道使用者有沒有登入。

cookie是解決http無狀態性的有效手段,伺服器可以設定或讀取cookie中所包含的資訊。當使用者登入後,伺服器會傳送包含登入憑據的cookie到使用者瀏覽器客戶端,而瀏覽器對該cookie進行某種形式的儲存(記憶體或硬碟)。使用者再次訪問該**時,瀏覽器會傳送該cookie(cookie未到期時)到伺服器,伺服器對該憑據進行驗證,合法時使使用者不必輸入使用者名稱和密碼就可以直接登入。

本質上講,cookie是一段文字資訊。客戶端請求伺服器時,如果伺服器需要記錄使用者狀態,就在響應使用者請求時傳送一段cookie資訊。客戶端瀏覽器儲存該cookie資訊,當使用者再次訪問該**時,瀏覽器會把cookie做為請求資訊的一部分提交給伺服器。伺服器檢查cookie內容,以此來判斷使用者狀態,伺服器還會對cookie資訊進行維護,必要時會對cookie內容進行修改。

cookie總時由使用者客戶端進行儲存的(一般是瀏覽器),按其儲存位置可分為:記憶體式cookie和硬碟式cookie。

記憶體式cookie儲存在記憶體中,瀏覽器關閉後就會消失,由於其儲存時間較短,因此也被稱為非持久cookie或會話cookie。

硬碟式cookie儲存在硬碟中www.cppcns.com,其不會隨瀏覽器的關閉而消失,除非使用者手工清理或到了過期時間。由於硬碟式cookie儲存時間是長期的,因此也被稱為持久cookie。

cookie定義了一些http請求頭和http響應頭,通過這些http頭資訊使伺服器可以與客戶進行狀態互動。

客戶端請求伺服器後,如果伺服器需要記錄使用者狀態,伺服器會在響應資訊中包含乙個set-cookie的響應頭,客戶端會根據這個響應頭儲存cookie資訊。再次請www.cppcns.com求伺服器時,客戶端會在請求資訊中包含乙個cookie請求頭,而伺服器會根據這個請求頭進行使用者身份、狀態等較驗。

下面是乙個實現cookie機制的,簡單的http請求過程:

客戶端請求it筆錄**首頁,請求頭如下:

cookie是一種key=value形式的字串,伺服器需要記錄這個客戶端請求的狀態,因此在響應頭中包乙個set-cookie欄位。響應頭如下www.cppcns.com:

set-cookie:userid=itbilu; max-age=3600; 程式設計客棧version=1

content-type:text/html

客戶端會對伺服器響應的set-cookie頭資訊進行儲存。再次請求時,將會在請求頭中包含伺服器響應的cookie資訊。請求頭如下

cookie:userid=itbilu

HTTP Cookie構成及特殊屬性

domain,path cookie的可訪問範圍 expires 設定cookie存活的時間,預設情況下,使用者關閉瀏覽器則cookie自動刪除,如果沒有設定cookie失效的時間,那麼使用者關閉瀏覽器時cookie也消失 即瀏覽器中顯示的expires的值是 color red at end of...

opencv特徵檢測及匹配通用步驟及Code

當我們學習乙個新的知識的時候,往往我們第一點能夠想到的就是這個東西有什麼用,有沒有實際價值。如果學會了一樣本領,現實生活中卻用不到,這也是一種浪費,浪費的是時間精力。那麼,特徵檢測在視覺領域有哪些地方可以用到呢?如下 1 影象匹配 2 影象拼接 3 實時跟蹤 什麼是特徵檢測呢?所謂的特徵檢測直觀一些...

Shuffle機制及優化

map方法之後,reduce方法之前的資料處理過程稱之為shuffle。具體shuffle過程詳解 1 maptask收集我們的map 方法輸出的kv對,放到記憶體緩衝區中 2 從記憶體緩衝區不斷溢位本地磁碟檔案,可能會溢位多個檔案 3 多個溢位檔案會被合併成大的溢位檔案 4 在溢位過程及合併的過程...