網站登錄注冊-Session 和token的總結


1、為什么要使用session

  因為http本身是無狀態協議,無法確定你的本次請求和上次請求是不是你發送的。如果要進行類似論壇登陸相關的操作,就實現不了了。

2、Session 生成方式

  瀏覽器第一次訪問服務器,服務器會創建一個session,然后同時為該session生成一個唯一的會話的key,也就是sessionid,然后,將sessionid及對應的session分別作為key和value保存到緩存中,也可以持久化到數據庫中,然后服務器再把sessionid,以cookie的形式發送給客戶端。這樣瀏覽器下次再訪問時,會直接帶着cookie中的sessionid。然后服務器根據sessionid找到對應的session進行匹配;

 1、為什么要使用token

  token在服務器是可以不需要存儲用戶的信息的,而token的傳遞方式也不限於cookie傳遞,可以保存在響應報文或者請求報文的報文頭部中

2、token的生成方式

  瀏覽器第一次訪問服務器,根據傳過來的唯一標識userId,服務端會通過一些算法,如常用的HMAC-SHA256算法,然后加一個密鑰,生成一個token,然后通過BASE64編碼一下之后將這個token發送給客戶端;客戶端將token保存起來,下次請求時,帶着token,服務器收到請求后,然后會用相同的算法和密鑰去驗證token,如果通過,執行業務操作,不通過,返回不通過信息;

  區別

    Session 需要保存在服務器端,

    Token  不需要保存在服務器端


免責聲明!

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



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