token是什么意思 token的作用
2022-10-10 09:33:38 閱讀(331)
Cookie、Session和Token都是用來(lái)做持久化處理的,目的就是讓客戶(hù)端和服務(wù)端互相認(rèn)識(shí)。HTTP請(qǐng)求默認(rèn)是不持久的,沒(méi)有狀態(tài)的,誰(shuí)也不認(rèn)識(shí)誰(shuí)的。下面小編就給大家來(lái)詳細(xì)介紹一下token是什么意思 token的作用這一塊的相關(guān)內(nèi)容,希望能幫助到大家。
token是什么意思
1、Cookie
Cookie是一個(gè)非常具體的東西,指的就是瀏覽器里面能永久存儲(chǔ)的一種數(shù)據(jù),僅僅是瀏覽器實(shí)現(xiàn)的一種數(shù)據(jù)存儲(chǔ)功能。
Cookie由服務(wù)器生成,通過(guò)響應(yīng)頭Set-Cookie字段發(fā)送給瀏覽器,瀏覽器把Cookie以key value形式保存到某個(gè)目錄下的文本文件里,下一次請(qǐng)求同一網(wǎng)站時(shí)會(huì)把該Cookie發(fā)送給服務(wù)器。由于Cookie是存在客戶(hù)端上的,所以瀏覽器加入了一些限制確保Cookie不會(huì)被惡意使用,同時(shí)不會(huì)占據(jù)太多磁盤(pán)空間,所以每個(gè)域的Cookie數(shù)量是有限的。
2、Session
Session從字面上講,就是會(huì)話(huà)。服務(wù)器要知道當(dāng)前發(fā)請(qǐng)求給自己的是誰(shuí)。為了做這種區(qū)分,服務(wù)器就要給每個(gè)客戶(hù)端分配不同的“身份標(biāo)識(shí)”,然后客戶(hù)端每次向服務(wù)器發(fā)請(qǐng)求的時(shí)候,都帶上這個(gè)“身份標(biāo)識(shí)”,服務(wù)器就知道這個(gè)請(qǐng)求來(lái)自于誰(shuí)了。至于客戶(hù)端怎么保存這個(gè)“身份標(biāo)識(shí)”,可以有很多種方式,對(duì)于瀏覽器客戶(hù)端,默認(rèn)采用Cookie的方式。
服務(wù)器使用Session把用戶(hù)的信息臨時(shí)保存在了服務(wù)器上,用戶(hù)離開(kāi)網(wǎng)站后Session會(huì)被銷(xiāo)毀。這種用戶(hù)信息存儲(chǔ)方式相對(duì)Cookie來(lái)說(shuō)更安全,可是Session有一個(gè)缺陷:如果web服務(wù)器做了負(fù)載均衡,那么下一個(gè)操作請(qǐng)求到了另一臺(tái)服務(wù)器的時(shí)候Session會(huì)丟失。
3、Token
Token意思是“令牌”,用戶(hù)身份的驗(yàn)證方式,有點(diǎn)類(lèi)似于Cookie,相對(duì)來(lái)說(shuō)更安全。
比如你授權(quán)(登錄)一個(gè)程序時(shí),他就是個(gè)依據(jù),判斷你是否已經(jīng)授權(quán)該軟件;Cookie就是寫(xiě)在客戶(hù)端的一個(gè)txt文件,里面包括你登錄信息之類(lèi)的,這樣你下次在登錄某個(gè)網(wǎng)站,就會(huì)自動(dòng)調(diào)用Cookie自動(dòng)登錄用戶(hù)名;Session和Cookie差不多,只是Session是寫(xiě)在服務(wù)器端的文件,也需要在客戶(hù)端寫(xiě)入Cookie文件,但是文件里是你的瀏覽器編號(hào)。Session的狀態(tài)是存儲(chǔ)在服務(wù)器端,客戶(hù)端只有session id;而Token的狀態(tài)是存儲(chǔ)在客戶(hù)端。
最簡(jiǎn)單的Token組成:uid(用戶(hù)唯一的身份標(biāo)識(shí))、time(當(dāng)前時(shí)間的時(shí)間戳)、sign(簽名,由Token的前幾位+鹽以哈希算法壓縮成一定長(zhǎng)的十六進(jìn)制字符串,可以防止惡意第三方拼接Token請(qǐng)求服務(wù)器)。還可以把不變的參數(shù)也放進(jìn)Token,避免多次查庫(kù)。
Token特點(diǎn):
1、無(wú)狀態(tài)、可擴(kuò)展;
2、支持移動(dòng)設(shè)備;
3、跨程序調(diào)用;
4、安全。
一般流程:
1、客戶(hù)端向服務(wù)端申請(qǐng)Token;
2、服務(wù)端收到請(qǐng)求,會(huì)去驗(yàn)證用戶(hù)信息,簽發(fā)一個(gè)Token給客戶(hù)端,服務(wù)端自己也會(huì)保存 Token;
3、客戶(hù)端收到服務(wù)端簽發(fā)的Token會(huì)保存起來(lái),每次請(qǐng)求帶上Token;
4、服務(wù)器收到其他請(qǐng)求,會(huì)去驗(yàn)證客戶(hù)端的Token,如果成功則返回?cái)?shù)據(jù),不成功做其他處理。
上面就是關(guān)于token是什么意思 token的作用的全部?jī)?nèi)容介紹,希望上面的相關(guān)內(nèi)容能幫助到大家。
未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處