Session的工作原理 面試回答

2021-09-27 03:28:31 字數 514 閱讀 1206

首先,servlet有getsession(),先獲取到session,往session裡放屬性,底層伺服器一看到你用了getsession(),

它會馬上生成乙個32長度的隨機串,然後再建立乙個session物件,然後以這個32位的隨機字串作為key,以新建立的session物件作為value,

放到session列表中,session列表是乙個map,當使用者發出第一次請求的時候,伺服器把32位的這個字串包裝成了乙個cookie(jsessionid=32位的隨機字串),傳送給客戶端瀏覽器,瀏覽器接收到cookie會儲存到瀏覽器的快取,當客戶端再次傳送請求的時候,目的是從剛才那個session中讀取資料,它首先會把瀏覽器快取中的cookie(jsessionid=32位的隨機字串)放到請求頭部資訊中,然後傳送給伺服器,伺服器接收到這個cookie以後,會拿到這個jsessionid的值,也就是32位的隨機字串,然後到session列表中去進行查詢,找到這個key,就找到了這個key所對應的value,也就是存放有域屬性的那個session,就可以讀取到資料了.

Session的工作原理

首先,我們需要知道session是什麼。有比較專業的人將session稱之為會話控制。說實在的,如果這麼說的話,我也不清楚session到底算是什麼。其實session是乙個存在伺服器上的類似於乙個雜湊 的檔案。裡面存有我們需要的資訊,在我們需要用的時候可以從裡面取出來。類似於乙個大號的map吧,裡...

session 的工作原理?

session 是瀏覽器和伺服器會話過程中,伺服器分配的一塊儲存空間。伺服器預設為瀏覽器在cookie中設定 sessionid,瀏覽器在向伺服器請求過程中傳輸 cookie 包含 sessionid 伺服器根據 sessionid 獲取出會話中儲存的資訊。由於 http 協議是無狀態的,即 htt...

Session的工作原理

在伺服器中系統會為每個會話維護乙個 session。不同的會話,對應不同的 session。系統是如何識別各個 session 物件的?即是如何做到在同一會話過程中,一直使用的是同乙個 session 物件呢?1 寫入 session 列表 伺服器對當前應用中的 session 是以 map 的形式...