1. 程式人生 > >session實現原理(阿里面試題)

session實現原理(阿里面試題)

問: 當用戶登入某網站後,向伺服器傳送一個請求,伺服器如何判斷是這個使用者請求的

  首先,你要明白一點,最初http協議在設計的時候,主要面向當時的web1.0網站,他們不需要知道是誰來訪問,只需要向外界提供相應的web服務即可. 但是,在web2.0的網站中,使用者和網站發生相關的資訊互動.所以,web服務提供者需要知道,是誰發起了請求.也就是,服務端有能力從http資料包中提取使用者的相關資訊.

  現在一般採用使用伺服器端產生的Session結合瀏覽器的Cookie.實現使用者與客戶端之間唯一祕鑰,上面的PHPSESSID的值就是相關的session ID與cookic結合的相關資訊.

 

一般來說包括以下4個步驟:

1.伺服器端的產生Session ID
2.伺服器端和客戶端儲存Session ID
3.從HTTP Header中提取Session ID(傳送的是一個COOKIC值)
4.根據Session ID從伺服器端的Hash中獲取請求者身份資訊