Cookie session和token的區別

2022-09-03 08:45:15 字數 2180 閱讀 3969

cookie的內容是儲存一小段文字資訊,這些文字資訊組成乙份通行證。它是客戶端對於無狀態協議的一種解決方案。

cookie的原理

(1)客戶端第一次請求時,傳送資料到伺服器。

(2)伺服器返回響應資訊的同時,還會傳回乙個cookie(cookie s-001)

(3)客戶端接收伺服器的響應之後,瀏覽器會將cookie存放在乙個統一的位置。

(4)客戶端再次向伺服器傳送請求的時候,會把cookie s-001再次發揮伺服器。

cookie的生命週期

cookoe的生存時間是整個會話期間:瀏覽器會將cookie儲存在記憶體中,瀏覽器關閉時自動刪除這個cookie

cookie的生存時間是長久有效的:手動將cookie報存在客戶端的硬碟中,瀏覽器關閉的話,cookie頁不會清除;下次在開啟瀏覽器訪問對應**內容,這個cookie就會自動再次傳送到伺服器。

session的原理:

(1)伺服器在處理客戶端請求過程中會建立session,並且為該session生存唯一的session id。(這個session id在隨後的請求中會被用來重新獲得已經建立的session。在session被建立後,就可以呼叫session相關的方法向session中新增內容,這些內容只會儲存在伺服器中) 

(2)伺服器將session id傳送到客戶端

(3)當客戶端再次請求時,就會帶上這個session id

(4)伺服器接收到請求之後就會一句session id 找到相應的session ,完成請求

ps:1、雖然session儲存在伺服器,但它還是需要客戶端瀏覽器的支援,因為session需要使用cookie作為識別標誌。伺服器會向客戶端傳送乙個名為jseddionid的cookie,它的值為session id。

2、當cookie被禁用時,可以使用url重寫的方法:將session寫在url中,伺服器在進行解析

session的生命週期:

與cookie一直,伺服器也能設定session的生效時間。

cookie和session的區別

1、儲存位置不同:session儲存在伺服器,cookie儲存在客戶端

2、儲存容量不同:單個cookie儲存資料小於等於4kb,乙個站點最多儲存20個cookie;session沒有上限,但是由於伺服器記憶體效能考慮,session不要存太多東西,並有刪除機制

3、訪問方式不同:cookie只能儲存ascii字串;session能訪問任何型別的資料

4、隱私策略不同:cookie是對客戶端是可見的,可以分析存放在本地的cookie並進去cookie欺騙;session儲存在伺服器上,對於客戶端是透明的,不存在敏感資訊洩露的風險

5、伺服器壓力不同:session是儲存在服務端,每隔使用者都會產生乙個session。加入併發訪問的使用者太多,會產生很多的session,對伺服器是乙個很大的負擔,耗費大量記憶體

cookie保管在客戶端,不占用伺服器資源。對於併發使用者十分多的**,session是乙個很好的選擇。

6、瀏覽器的支援不同:session不支援新建視窗,只支援字視窗。而cookie都支援。 

假設瀏覽器禁用cookie,session可以通過url重寫的方法實現。cookie就派不上用場。

token的原理:

(1)客戶端第一次請求時,傳送使用者資訊到伺服器。伺服器對使用者資訊使用hsa256演算法及金鑰進行簽名,再將這個簽名和資料一起作為token返回給客戶戶端。

(2)服務端不再儲存token,客戶端儲存token。

(3)當客戶端再次傳送請求時,在請求資訊中將token一起傳送給伺服器。

(4)伺服器用同樣的hsa256演算法和金鑰,對資料再計算一次簽名,和token的簽名做比較

(5)如果相同,伺服器就知道客戶端登入過,則反之。

介面鑑權之cookie session和token

一 鑑權 二 引入cookie session和token的原因 目前,大部分介面使用的都是http協議,而http協議是無狀態的,即本次請求和上一次請求是沒有任何關係的,無法共享資訊。比如,像我們現在 下單需要先登入,你登入成功了之後再去下單,伺服器怎麼知道你是已登入狀態呢?三 cookie和se...

Cookie,Session和Token的區別

在做介面測試時,經常會碰到請求引數為token的型別,但是可能大部分測試人員對token,cookie,session的區別還是一知半解。cookie cookie 是乙個非常具體的東西,指的就是瀏覽器裡面能永久儲存的一種資料,僅僅是瀏覽器實現的一種資料儲存功能。cookie由伺服器生成,傳送給瀏覽...

cookie session和token的區別

cookie cookie由伺服器生成,儲存在客戶端瀏覽器,是乙個檔案。容量小,單個cookie儲存的資料不能超過4k 容易被劫持,不安全 可以被使用者禁止 session session儲存在伺服器端,沒有資料量限制 session可以放在檔案 資料庫 記憶體等中 session大多數都是用coo...