token,session,cookie的區別


token,session以及cookie的區別

cookie 是一個非常具體的東西,指的就是瀏覽器里面能永久存儲的一種數據。

cookie由服務器生成,發送給瀏覽器,瀏覽器把cookie以key--value形式保存到某個目錄下的文本文件內,下一次請求同一網站時會把該cookie

發送給服務器。由於cookie是存在客戶端上的

session 從字面上講,就是會話。session就是為了處理上下文接口進行會話--為了保持接口會話的一致性

Session是一種服務器端的機制,Session 對象用來存儲特定用戶會話所需的信息。

Session的根本作用就是在服務端存儲用戶和服務器會話的一些信息。典型的應用有:

1、判斷用戶是否登錄。

2、購物車功能。

Token的引入:Token是在客戶端頻繁向服務端請求數據,服務端頻繁的去數據庫查詢用戶名和密碼並進行對比,判斷用戶名和密碼正確與否,

並作出相應提示,在這樣的背景下,Token便應運而生。

Token的定義:Token是服務端生成的一串字符串,以作客戶端進行請求的一個令牌進行訪問。token在服務器時可以不用存儲用戶信息的,

token傳遞的方式也不限於cookie傳遞,token也可以保存起來。

使用Token的目的:Token的目的是為了減輕服務器的壓力,減少頻繁的查詢數據庫,使服務器更加健壯

token的特點:

1.無狀態--服務器不需要記錄任何東西,每次都是一個無狀態的請求,每次都是通過解密來驗證是否合法。

2.在網絡傳輸的過程中,性能更好

3.不需要綁定到一個特定的身份驗證方案。Token可以在任何地方生成,只要在 你的API被調用的時候, 你可以進行Token生成調用即可.

 

Cookie和Session的區別:

1、存放位置不同

Cookie保存在客戶端,Session保存在服務端。

2 、存取方式的不同

Cookie中只能保管ASCII字符串,假如需求存取Unicode字符或者二進制數據,需求先進行編碼。Cookie中也不能直接存取Java對象。若要存儲

略微復雜的信息,運用Cookie是比擬艱難的。

3丶存儲容量不同

 單個cookie保存的數據<=4KB,一個站點最多保存20個Cookie,對於session來說並沒有上限,但出於對服務器端的性能考慮,session內不要存

放過多的東西,並且設置session刪除機制。

4、安全隱私不同

cookie對客戶端是可見的,所以它是不安全的。session存儲在服務器上,不存在敏感信息泄漏的風險

5丶跨域支持上不同

cookie支持跨域名訪問,session不支持跨域名訪問


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM