header裏面放Authorization,就是爲了驗證用戶身份,如今先後端分離,有跨域問題,session常常會失效
因此使用了token來驗證用戶身份(目前只知道能夠用於驗證用戶身份)
token和session擁有同一功能就是判斷當前用戶是否是以前登陸了的用戶
好比你登錄後,在同一瀏覽器不一樣頁面打開同一網址,你想跳過登陸環節
這時候由於跨域問題,發送給後臺的session會是一個新的session
服務器無法經過session來驗證你的身份,因此服務器的過濾器(或攔截器)會過濾掉你的請求,讓你返回登錄界面從新登陸,使用戶體驗變差前端
Authorization裏面放的就是token,就至關於每次發送請求的時候,攔截器都會攔截一次你的請求,
把你請求頭部的Authorization拿出來,與當前存在服務器上的token作對比
若是是同一個,則證實是同一用戶,而後攔截器就爲你當前的請求放行,繼續執行你的請求
若是不是同一個,那麼服務器會截斷你的請求併發送錯誤碼給前端,讓前端驗證身份從新登錄vue
若是是使用vue.js開發,那麼前端會在登錄以後將全部要用到的數據經過sessionStorage,用一個固定的key值存起來
這樣的前提是登陸以後並選擇記住登陸狀態,就是在登錄界面發送過請求
但若是要實現咱們上述的功能的話,直接跳轉到別的頁面,此時的sessionStorage是空的,由於沒有登陸界面的數據給咱們設置
這時候就要用到cookie了,咱們把本來應該存在sessionStorage的數據存在Cookie裏,而後對cookie進行加密,提升安全性
而後在直接跳轉到其餘頁面的時候,對cookie解密後把值從新放入sessionStorage
由於sessionStorage裏會存該用戶的token,因此就實現了記住了用戶的登陸狀態並跳過了session失效的問題後端
還有一點注意就是當token過時的時候須要同時清除cookie,否則會致使頁面無限跳轉直至cookie過時跨域