Cookie和Session的區別與聯絡

2021-08-21 01:37:03 字數 2100 閱讀 8076

1、無狀態的http協議:

協議是指計算機通訊網路中兩台計算機之間進行通訊所必須共同遵守的規定或規則,超文字傳輸協議

(http)是一種通訊協議,它允許將超文字標記語言(html)文件從web伺服器傳送到客戶端的瀏覽器。

http協議是無狀態的協議。一旦資料交換完畢,客戶端與伺服器端的連線就會關閉,再次交換資料需要建立新的連線。這就意味著伺服器無法從連線上跟蹤會話。

2、會話(session)跟蹤:

會話,指使用者登入**後的一系列動作,比如瀏覽商品新增到購物車並購買。會話(session)跟蹤是web程式中常用的技術,用來跟蹤使用者的整個會話。

常用的會話跟蹤技術是cookiesession

cookie通過在客戶端記錄資訊確定使用者身份,session通過在伺服器端記錄資訊確定使用者身份。

cookie實際上是一小段的文字資訊。客戶端請求伺服器,如果伺服器需要記錄該使用者狀態,就使用response向客戶端瀏覽器頒發乙個cookie。客戶端會把cookie儲存起來。

當瀏覽器再請求該**時,瀏覽器把請求的**連同該cookie一同提交給伺服器。伺服器檢查該cookie,以此來辨認使用者狀態。伺服器還可以根據需要修改cookie的內容。

cookie的內容主要包括:名字,值,過期時間,路徑和域。路徑與域一起構成cookie的作用範圍。

1)name 和 value 屬性由程式設定,預設值都是空引用。

2)domain屬性的預設值為當前url的網域名稱部分,不管發出這個cookie的頁面在哪個目錄下的。

3)path屬性的預設值是根目錄,即 」/」 ,不管發出這個cookie的頁面在哪個目錄下的。可以由程式設定為一定的路徑來進一步限制此cookie的作用範圍。

4)expires 屬性,這個屬性設定此cookie 的過期日期和時間。

session是另一種記錄客戶狀態的機制,不同的是cookie儲存在客戶端瀏覽器中,而session儲存在伺服器上。客戶端瀏覽器訪問伺服器的時候,伺服器把客戶端資訊以某種形式記錄在伺服器上。這就是session。客戶端瀏覽器再次訪問時只需要從該session中查詢該客戶的狀態就可以了。

每個使用者訪問伺服器都會建立乙個session,在使用者與伺服器建立連線的同時,伺服器會自動為其分配乙個sessionid。sessionid的值是乙個既不會重複,又不容易被找到規律以仿造的字串,這個sessionid將被在本次響應中返回給客戶端儲存。

儲存這個session id的方式可以採用cookie,這樣在互動過程中瀏覽器可以自動的按照規則把這個傳送給伺服器。一般這個cookie的名字都是類似於seeesionid。但cookie可以被人為的禁止,則必須有其他機制便在cookie被禁止時仍然能夠把session id傳遞歸伺服器。

經常被使用的一種技術叫做url重寫,就是把session id直接附加在url路徑的後面。還有一種技術叫做表單隱藏字段。就是伺服器會自動修改表單,新增乙個隱藏字段,以便在表單提交時能夠把session id傳遞歸伺服器。

①存在的位置:

cookie 存在於客戶端,臨時資料夾中

session:存在於伺服器的記憶體中,乙個session域物件為乙個使用者瀏覽器服務

②安全性

cookie是以明文的方式存放在客戶端的,安全性低,可以通過乙個加密演算法進行加密後存放。

session存放於伺服器的記憶體中,所以安全性好

③網路傳輸量

cookie會傳遞訊息給伺服器,單個cookie儲存的資料不能超過4k,很多瀏覽器都限制乙個站點最多儲存50個cookie。

session本身存放於伺服器,不會有傳送流量

④生命週期(以20分鐘為例)

(1)cookie的生命週期是累計的,從建立時,就開始計時,20分鐘後,cookie生命週期結束,

(2)session的生命週期是間隔的,從建立時,開始計時如在20分鐘,沒有訪問session,那麼session生命週期被銷毀

但是,如果在20分鐘內(如在第19分鐘時)訪問過session,那麼,將重新計算session的生命週期

(3)關機會造成session生命週期的結束,但是對cookie沒有影響

⑤訪問範圍

session為乙個使用者瀏覽器獨享

cookie為多個使用者瀏覽器共享

Session和Cookie的區別

session和cookie的區別 1 儲存的位置不同 session儲存在伺服器端的記憶體中,占用伺服器資源。cookie是儲存在客戶端。可以是瀏覽器中或者是檔案中 2 儲存的時間不同 session是關閉當前會話相關瀏覽器後自動清空。cookie是根據過期時間而會有不同。3 安全性不同 sess...

cookie和session的區別

一 cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我們也看到,由於在伺服器端保持狀態的方案在客戶端也需要儲存乙個標識,所以session機制可能需要借助於cookie機制來達到儲存標識的目...

cookie和session的區別

分類 計算機網路 2011 10 21 10 43 4785人閱讀收藏 舉報 session 瀏覽器伺服器 servlet url儲存 一 cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我...