【全?!縞ookie、session、token 發(fā)展史與請(qǐng)求響應(yīng)鑒權(quán)
2023-06-25 12:24 作者:這是個(gè)大問(wèn)號(hào) | 我要投稿

所有的目的:為了有狀態(tài)
1.
問(wèn)題:http無(wú)狀態(tài),很多網(wǎng)站想要知道請(qǐng)求的狀態(tài)
所以:有了cookie,數(shù)據(jù)存在瀏覽器,發(fā)送請(qǐng)求時(shí)帶著cookie,服務(wù)端就可以獲取到信息。
注:從服務(wù)器返回的響應(yīng)頭里的set-cookie和以后請(qǐng)求中是否帶著cookie這兩個(gè)功能是瀏覽器規(guī)定的。
2.
問(wèn)題:cookie是明文,一看就能看見(jiàn),有風(fēng)險(xiǎn)
解決:出現(xiàn)了session,數(shù)據(jù)存儲(chǔ)在瀏覽器端,cookie中存放sessionID可以方便找到服務(wù)器對(duì)應(yīng)的session
3.
問(wèn)題:由于cookie中存放的是sessionID,如果有多個(gè)服務(wù)器,session存放在某一個(gè)服務(wù)器上,此時(shí)請(qǐng)求請(qǐng)求到另一個(gè)服務(wù)器上,這個(gè)服務(wù)器就需要根據(jù)sessionID到其他服務(wù)器找session,會(huì)消耗性能
解決:token中將一些數(shù)據(jù)進(jìn)行加密,每次前段請(qǐng)求時(shí)都帶著數(shù)據(jù),后端進(jìn)行解析驗(yàn)證并獲取數(shù)據(jù),不需要區(qū)分服務(wù)器,相對(duì)于cookie也安全。
標(biāo)簽: