cookie、session和token的區別


cookie、session和token的區別

cookie:

· 表示用戶身份,一小段文本信息

· 服務端生成,發送客戶端保存,正在客戶端頭信息中,可能被用戶篡改。

· 相當於鑰匙,服務端用於驗證鑰匙是不是正確的。

· cookie格式:key:value;key:value;key:value;

 

 

 

 

session:

· 標識用戶用戶身份

· 服務端生成,服務端保存(產生sessionID,會發送sessionID給客戶端在cookie里面),占用內存,增大服務器負擔

· 請求帶上sessionID,服務器通過sessionID找到對應session

· 常用redis

token:

· 標識用戶身份一串字符串

· 服務端加密生成的令牌,保存在客戶端

· 客戶端請求帶上token,服務端對token解密對比即可驗證身份和密碼

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

cookie和session的區別:

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就派不上用場。


免責聲明!

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



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