2020-10-20 cookie、session、token

都是因?yàn)橛脩羯矸蒡?yàn)證,而產(chǎn)生的。用戶登錄給服務(wù)器發(fā)送用戶名和密碼,服務(wù)器接收到之后驗(yàn)證成功后,返回給客戶端登錄信息和cookie,存儲(chǔ)在客戶端,客戶端再次請(qǐng)求時(shí),在請(qǐng)求頭會(huì)有cookie 的信息,同時(shí)發(fā)送給服務(wù)器,服務(wù)器進(jìn)行驗(yàn)證接收到的cookie,成功返回?cái)?shù)據(jù),失敗,則用戶信息異常。因?yàn)閏ookie是存儲(chǔ)在客戶端的,容易獲取,不安全。
為了解決不安全的問題,產(chǎn)生了session,session是存儲(chǔ)在服務(wù)器中的,用戶接觸不到,所以相對(duì)來說安全,會(huì)話信息以{key:vlaue}的形式存儲(chǔ),用戶登錄后,返回給客戶端一個(gè)session(key),保存在cookie中,再次訪問接口時(shí)候,請(qǐng)求中會(huì)帶著session(key)發(fā)送給服務(wù)器,服務(wù)器根據(jù) session(key) 找對(duì)應(yīng)的value值,如果存在則用戶信息存在,驗(yàn)證成功,否則異常。因?yàn)槭谴鎯?chǔ)在服務(wù)器當(dāng)中,用戶很多的時(shí)候,增加服務(wù)器壓力。而且如果是多臺(tái)服務(wù)器提供服務(wù),假如第一次請(qǐng)求落到A上并創(chuàng)建了session,如何保證下次落到B的請(qǐng)求能讀到session數(shù)據(jù),為了解決這些缺陷,產(chǎn)生了token。 token是根據(jù)user-hs256(user+key)加密產(chǎn)生的一串字符串,算法不唯一這只是個(gè)示例。用戶登錄成功后返回token,再次請(qǐng)求時(shí)發(fā)送token給服務(wù)器,服務(wù)器取到token后根據(jù)‘-’解析到user,用解析到的user重新進(jìn)行hs256(user+key),如果等于token解析到的后半段,驗(yàn)證成功,否則失敗。缺點(diǎn)就是增加服務(wù)器運(yùn)算壓力,其他就是真香

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容