token/session/cookie的區(qū)別

1.簡單介紹

session(會(huì)話):

當(dāng)用戶打開某個(gè)web應(yīng)用時(shí)截驮,便與web服務(wù)器產(chǎn)生一次session。服務(wù)器為了區(qū)分當(dāng)前給自己發(fā)請(qǐng)求的是誰完疫,給每個(gè)客戶端分配了一個(gè)不同的“身份標(biāo)識(shí)”审姓≡暗#客戶端發(fā)請(qǐng)求時(shí)需要攜帶該“身份標(biāo)識(shí)”近弟∶逶悖“身份標(biāo)識(shí)”的存儲(chǔ)方式很多,通常使用cookie祷愉。
服務(wù)器使用session把用戶的信息臨時(shí)保存在了服務(wù)器上窗宦,用戶離開網(wǎng)站后session會(huì)被銷毀《可是session有一個(gè)缺陷:如果web服務(wù)器做了負(fù)載均衡赴涵,那么下一個(gè)操作請(qǐng)求到了另一臺(tái)服務(wù)器的時(shí)候session會(huì)丟失。

cookie:

cookie是瀏覽器里面能永久存儲(chǔ)的一種數(shù)據(jù)订讼。
cookie由服務(wù)器生成髓窜,發(fā)送給瀏覽器,瀏覽器把cookie以key-value形式保存到某個(gè)目錄下的文本文件內(nèi)欺殿,下一次請(qǐng)求同一網(wǎng)站時(shí)會(huì)把該cookie發(fā)送給服務(wù)器寄纵。由于cookie是存在客戶端上的,所以瀏覽器加入了一些限制確保cookie不會(huì)被惡意使用祈餐,同時(shí)不會(huì)占據(jù)太多磁盤空間擂啥,所以每個(gè)域的cookie數(shù)量是有限的哄陶。

token(令牌):

token是用戶身份的驗(yàn)證方式帆阳,最簡單的token組成:uid(用戶唯一的身份標(biāo)識(shí))、time(當(dāng)前時(shí)間的時(shí)間戳)屋吨、sign(簽名蜒谤,由token的前幾位+鹽以哈希算法壓縮成一定長的十六進(jìn)制字符串,可以防止惡意第三方拼接token請(qǐng)求服務(wù)器)至扰。還可以把不變的參數(shù)也放進(jìn)token鳍徽,避免多次查庫

2.傳統(tǒng)身份驗(yàn)證

HTTP是一種沒有狀態(tài)的協(xié)議,并不知道誰是訪問者敢课。假設(shè)一個(gè)客戶端訪問服務(wù)端時(shí)發(fā)送賬號(hào)密碼阶祭,通過驗(yàn)證绷杜。下回它再次訪問時(shí),還是需要驗(yàn)證濒募。
解決辦法(session+cookie):
1)客戶端訪問時(shí)鞭盟,通過了驗(yàn)證。
2)服務(wù)端生成一條記錄瑰剃,記錄一些必要信息齿诉。
3)把記錄這些信息的ID號(hào)發(fā)送給客戶端
4)客戶端收到ID號(hào)后存儲(chǔ)在cookie中
5)下次客戶端重新訪問服務(wù)端時(shí),帶上cookie信息
6)服務(wù)端驗(yàn)證cookie里面的信息晌姚,如果能找到對(duì)應(yīng)的記錄粤剧,則用戶通過了驗(yàn)證

3.token身份驗(yàn)證

1)客戶端使用賬號(hào)密碼請(qǐng)求登錄
2)服務(wù)端收到請(qǐng)求,驗(yàn)證賬號(hào)密碼
3)驗(yàn)證通過挥唠,服務(wù)端簽發(fā)一個(gè)token給客戶端
4)客戶端收到token存儲(chǔ)起來(例:存在cookie)
5)客戶端每次請(qǐng)求服務(wù)端時(shí)帶著服務(wù)端簽發(fā)的token
6)服務(wù)端收到請(qǐng)求抵恋,驗(yàn)證token走贪。驗(yàn)證成功則返回?cái)?shù)據(jù)給客戶端

4.常見問題

1.服務(wù)器上的token存儲(chǔ)到數(shù)據(jù)庫中觉至,每次查詢會(huì)不會(huì)很費(fèi)時(shí)?

如果存儲(chǔ)到數(shù)據(jù)庫中會(huì)造成系統(tǒng)的性能問題肆资,可以放在內(nèi)存中

2.客戶端得到的token需要如何處理懊烤?

i.在存儲(chǔ)的時(shí)候把token對(duì)稱加密
ii.將請(qǐng)求url梯醒、時(shí)間戳、token三者合并加鹽簽名腌紧,服務(wù)器驗(yàn)證有效性

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末茸习,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子壁肋,更是在濱河造成了極大的恐慌号胚,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浸遗,死亡現(xiàn)場離奇詭異猫胁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)跛锌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門弃秆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人髓帽,你說我怎么就攤上這事菠赚。” “怎么了郑藏?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵衡查,是天一觀的道長。 經(jīng)常有香客問我必盖,道長拌牲,這世上最難降的妖魔是什么俱饿? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮塌忽,結(jié)果婚禮上稍途,老公的妹妹穿的比我還像新娘。我一直安慰自己砚婆,他們只是感情好械拍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著装盯,像睡著了一般坷虑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上埂奈,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天迄损,我揣著相機(jī)與錄音,去河邊找鬼账磺。 笑死芹敌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的垮抗。 我是一名探鬼主播氏捞,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼冒版!你這毒婦竟也來了液茎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤辞嗡,失蹤者是張志新(化名)和其女友劉穎捆等,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體续室,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡栋烤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了挺狰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片明郭。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖她渴,靈堂內(nèi)的尸體忽然破棺而出达址,到底是詐尸還是另有隱情蔑祟,我是刑警寧澤趁耗,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站疆虚,受9級(jí)特大地震影響苛败,放射性物質(zhì)發(fā)生泄漏满葛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一罢屈、第九天 我趴在偏房一處隱蔽的房頂上張望嘀韧。 院中可真熱鬧,春花似錦缠捌、人聲如沸锄贷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谊却。三九已至,卻和暖如春哑芹,著一層夾襖步出監(jiān)牢的瞬間炎辨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國打工聪姿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留碴萧,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓末购,卻偏偏與公主長得像破喻,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子盟榴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容