第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為何說 Token 是 restful,而Cookie/SessionID 則不是?

為何說 Token 是 restful,而Cookie/SessionID 則不是?

夢(mèng)里花落0921 2018-06-27 10:02:42
如果SessionID和Token都存在 redis 里讓多個(gè)服務(wù)器共享 那沒什么區(qū)別吧?關(guān)于有無狀態(tài)和是否restful他們都需要在服務(wù)端保存信息,我覺得都是stateful為何有的說Token就是stateless和restful,而Cookie/SessionID 則不是?
查看完整描述

3 回答

?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊

很多人是按session的方式來使用token,所以覺得兩者一樣。

session思維是這樣:傳遞sessionID或者所謂的token到服務(wù)端,然后服務(wù)端根據(jù)這個(gè)鍵值找到用戶數(shù)據(jù),也許是session文件,也許在redis里,然后讀取里面的數(shù)據(jù)uid=1,至此用戶身份確立。

而真正的token思維是這樣:uid=1直接保存在客戶端,當(dāng)然不會(huì)只保留這么簡(jiǎn)單的數(shù)據(jù),很容易偽造。實(shí)際保存數(shù)據(jù)可能是這樣uid=1|6166b2002fdcb5df,后面一部分簽名是根據(jù)第一部分?jǐn)?shù)據(jù)加密所得,而加密算法只有服務(wù)端知道,你就沒辦法偽造數(shù)據(jù)了。服務(wù)端獲取這個(gè)token后,對(duì)第一部分?jǐn)?shù)據(jù)驗(yàn)簽,和第二部分比對(duì),如果一致,直接確立用戶身份uid=1。整個(gè)操作直接在內(nèi)存中運(yùn)算,不需要讀取session文件或redis。你甚至可以把整個(gè)用戶信息uid=1&nickname=xxx&money=1000保存到token里。

比如常用的JWT,是用 . 分割成3部分,每部分再base64_encode,但思路是一樣的。


查看完整回答
反對(duì) 回復(fù) 2018-07-21
?
慕哥6287543

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊

可以看下jwt這種token,是不需要存在服務(wù)器的,所有認(rèn)證信息(用戶id,過期時(shí)間等)是被加密在token當(dāng)中的,在服務(wù)端解密token就可以獲取認(rèn)證信息,不像session需要在服務(wù)器那里,根據(jù)cookie來取回狀態(tài)。

至于安全問題,jwt+https基本是很安全的了。這種stateless的token還有個(gè)好處是他可以無痛拓展,因?yàn)閟ession的文件是存放到磁盤上的,當(dāng)你有第二臺(tái)服務(wù)器時(shí),為了共享登陸,你不得不把session文件轉(zhuǎn)移到redis或其他介質(zhì)上,而jwt本身自帶所有認(rèn)證信息,直接使用


查看完整回答
反對(duì) 回復(fù) 2018-07-21
?
ibeautiful

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊

不管token很是session_id原理上都是差不多的,token通常是放在接口直接請(qǐng)求,token通常是放在header中進(jìn)行請(qǐng)求,不管怎么樣都需要前后端發(fā)起數(shù)據(jù)交互。不管用token還是session,都沒大關(guān)系,只要能實(shí)現(xiàn)即可。

查看完整回答
反對(duì) 回復(fù) 2018-07-21
  • 3 回答
  • 0 關(guān)注
  • 3084 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)