
作為前端,你是不是很好奇后端是如何處理用戶登陸的。今天我找后端大佬們咨詢了相關(guān)知識,先用代碼簡單演示一下sessionId的登錄流程。有錯誤的地方歡迎大佬們在評論區(qū)里指正,大家相互學(xué)習(xí)。
服務(wù)端登錄模塊
登錄,瀏覽器輸入http://localhost:8888/SpringSession/login服務(wù)器創(chuàng)建sessionid,sessionid作為key,session作為value。服務(wù)器返回響應(yīng)數(shù)據(jù),響應(yīng)頭cookie攜帶sessionid,瀏覽器寫入sessionid。如下圖所示:登錄響應(yīng)頭
瀏覽器存儲sessionid
登錄,瀏覽器輸入http://localhost:8888/SpringSession/login,請求頭cookie自動攜帶sessionid。服務(wù)器通過請求信息獲取到sessionid,由于服務(wù)器內(nèi)存中已有該sessionid,無需重復(fù)創(chuàng)建sessionid,直接返回數(shù)據(jù),響應(yīng)頭里不用設(shè)置sessionid。請求如下圖所示:已登錄用戶重復(fù)登錄演示
瀏覽器訪問用戶信息時,請求頭自動攜帶sessionid,服務(wù)器通過sessionid獲取對應(yīng)的session。如下圖所示:
后端獲取用戶信息模塊
瀏覽器訪問用戶信息
瀏覽器禁用cookie,服務(wù)器無法寫入cookie緩存sessionid。隨著移動互聯(lián)網(wǎng)的興起,移動設(shè)備沒有cookie,服務(wù)器無法將sessionid寫入cookie。當(dāng)然,客戶端存儲sessionid、請求可以換其他方式處理。如服務(wù)器將sessionid放在響應(yīng)體返回,客戶端手動存儲sessionid,請求數(shù)據(jù)請求頭攜帶sessionid。我們常用的token差不多就是按這種方式處理,下一篇給大家演示token的登錄流程。
在此感謝小鮮肉、奶爸阿強(qiáng)、奶爸小強(qiáng)提供技術(shù)指導(dǎo)!
鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。