浅谈session实现原理(阿里面试题)
生活随笔
收集整理的這篇文章主要介紹了
浅谈session实现原理(阿里面试题)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近博主剛剛經(jīng)歷了阿里的技術(shù)一面,面試官上來就問了我很多有關(guān)網(wǎng)絡(luò)協(xié)議的東東,以前看報(bào)文的時(shí)候,總有一個(gè)cookic在瀏覽器中.例如php為服務(wù)器腳本語言的,會(huì)有這樣一個(gè)名為PHPSESSID的cookic.反正當(dāng)時(shí)有印象,就是沒答出來.
直接上原題
問: 當(dāng)用戶登錄某網(wǎng)站后,向服務(wù)器發(fā)送一個(gè)請(qǐng)求,服務(wù)器如何判斷是這個(gè)用戶請(qǐng)求的
首先,你要明白一點(diǎn),最初http協(xié)議在設(shè)計(jì)的時(shí)候,主要面向當(dāng)時(shí)的web1.0網(wǎng)站,他們不需要知道是誰來訪問,只需要向外界提供相應(yīng)的web服務(wù)即可. 但是,在web2.0的網(wǎng)站中,用戶和網(wǎng)站發(fā)生相關(guān)的信息交互.所以,web服務(wù)提供者需要知道,是誰發(fā)起了請(qǐng)求.也就是,服務(wù)端有能力從http數(shù)據(jù)包中提取用戶的相關(guān)信息.
現(xiàn)在一般采用使用服務(wù)器端產(chǎn)生的Session結(jié)合瀏覽器的Cookie.實(shí)現(xiàn)用戶與客戶端之間唯一秘鑰,上面的PHPSESSID的值就是相關(guān)的session ID與cookic結(jié)合的相關(guān)信息.
一般來說包括以下4個(gè)步驟:
1.服務(wù)器端的產(chǎn)生Session ID 2.服務(wù)器端和客戶端存儲(chǔ)Session ID 3.從HTTP Header中提取Session ID(發(fā)送的是一個(gè)COOKIC值) 4.根據(jù)Session ID從服務(wù)器端的Hash中獲取請(qǐng)求者身份信息好吧,怪自己平時(shí)項(xiàng)目做太多了,沒去想細(xì)節(jié)的東西,太相信別人的博客了��
總結(jié)
以上是生活随笔為你收集整理的浅谈session实现原理(阿里面试题)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS下yum安装MySQL8.0
- 下一篇: Unity Shader入门精要笔记(四