Token、Session、Cookie、LocalStorage 區別以及聯系


一、區別和聯系

對於他們之間的區別以及聯系,本篇博文僅做一下總結,具體可以看看這篇博客:徹底理解 Cookie、Session、Token

Token 與 Session 都是用來標識客戶端的一種方式,他們都可以保存用戶信息,都可以用來識別用戶。

但是他們的主要區別是:前者是客戶端保存用戶信息,后者是服務端保存用戶信息。

使用 Token 時,當用戶登錄成功后,服務端返回一條帶有用戶信息的加密字符串(Base64)給客戶端保存。

使用 Session時,當用戶登錄成功后,服務端保存用戶信息,並返回一條唯一標識該用戶信息的字符串。

他們以后訪問服務器時,就將請求加上 token 或者 sessionId 發送給服務器,服務器用此來區分客戶端。

正如上面所述,但用戶非常多時,使用 Session 的話服務器將會消耗大量內存,增加服務器負荷。

Cookie 和 LocalStorage 都是瀏覽器用來存儲數據的,比如上面的 token 或者 sessionId,不過 LocalStorage 存儲空間更大。

他們之間的區別可以看看這篇博文:淺談瀏覽器存儲(Cookie、LocalStorage)

最后說一下關於Session和Token的使用:

二、Token的使用

Java 有許多JWT庫的實現,它們之間各有優缺點,可以看看這篇:各JWT庫的對比

如果使用其中一種集成到SpringSecurity中,可以看看這篇:JWT和SpringSecurity集成


免責聲明!

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



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