session工做原理簡介

         session是什麼

         首先,咱們須要知道session是什麼。有比較專業的人將session稱之爲會話控制。說實在的,若是這麼說的話,我也不清楚session到底算是什麼。瀏覽器

   其實session是一個存在服務器上的相似於一個散列表格的文件。裏面存有咱們須要的信息,在咱們須要用的時候能夠從裏面取出來。相似於一個大號的map吧,裏面的鍵存儲的是用戶的sessionid,用戶向服務器發送請求的時候會帶上這個sessionid。這時就能夠從中取出對應的值了。服務器

         session有什麼用

         提及session的做用,簡單的舉個例子:咱們在登陸某些網站的時候,輸入了用戶名密碼,登陸之後再打開新的頁面時,自動顯示的是已登陸的狀態,不須要再次從新登陸。這裏就是session功能的一個小小的體現。session

         那麼,剛纔這個小小的應用發生了什麼呢?網站

   

 

 

    如圖所示:在用戶1和用戶2登陸的時候,咱們的服務器在他們登陸成功後,在session表中爲他們每一個用戶分配了一個sessionid而且存下了一個對應的信息。當用戶第二次訪問該服務器的時候,會將sessionid在request請求中攜帶者發送過去。這時咱們的服務器就能夠根據sessionid肯定用戶存儲的數據,而後進行使用。如圖所示:spa

    

    session的生命週期

         當session超過必定時間(通常爲30分鐘)沒有被訪問時,服務器就會認爲這個session對應的客戶端已經中止活動,而後將這個session刪除。用以節省空間。3d

    當用戶關閉瀏覽器時,sessionId的信息會丟失,雖然服務器session還在,依然沒法訪問到session中的數據。blog

相關文章
相關標籤/搜索