理解cookie与token(JWT)
生活随笔
收集整理的這篇文章主要介紹了
理解cookie与token(JWT)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 理解cookie與token(JWT)
- 基于cookie方式
- JWT(Json Web Token)
理解cookie與token(JWT)
基于cookie方式
? 用戶向服務器發送用戶名和密碼。
? 服務器驗證后,相關數據(如用戶角色等)將保存在當前會話(session)中。
? 服務器向用戶返回sessionId會寫入到用戶的Cookie。
? 用戶后續請求都將通過在Cookie中取出sessionId傳給服務器。
? 服務器收到sessionId并對比之前保存的數據,確認用戶的身份。
cookie
- 瀏覽器訪問網頁時 自動 帶上, 存儲5k
- 瀏覽器訪問網頁時,會自動帶上cookieid,便于服務端識別
- 當用戶登錄完成后會把返回的sessionid覆蓋于cookieid
session - 服務端內存中記錄的會話狀態
- 當用戶登錄成功后,會在服務端內存中生成session對象并返回sessionid
- 目的: cookieid–sessionid 一一對應
注:cookie和session就像是男女朋友一樣
chrome
- =80版本時,不再自動帶cookie(http), https會帶cookie
- 解決: 可以手動在header加上token(jwt)
JWT(Json Web Token)
jwt(比火車票)
- json web token
- 當登錄成功后,生成jwt并返回,保存sessionstorage/localstorage
- 服務端生成jwt會指定一個有效期限,1天,2h
- 發起新請求時,取出jwt放到header中, 服務端驗證jwt, 有效則可繼續訪問
- 服務端不再需要session
cookie&jwt
- 使用cookie簡單,瀏覽器自帶; jwt需要手動放header
- 需要占用服務端內存空間; 不會占用服務端空間
- 當session失效會話就完了;jwt有效期不受控制
數據結構:其中第一段為 header(頭),第二段為 payload (負載),第三段為signature(簽名)
總結
以上是生活随笔為你收集整理的理解cookie与token(JWT)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue项目打包与配置-学习笔记
- 下一篇: node入门-学习笔记