1. 程式人生 > >叢集間Session共享問題解決方案

叢集間Session共享問題解決方案

兩個基本概念的生命週期

session:

當新客戶端發現一個HTTP請求時服務端會建立一個session.並分配一個sessionID作為服務端來客戶端的識別,session物件會儲存在服務端.此時session物件處天NEW STATE狀態,如果呼叫 session.isNew()則返回true.

當伺服器處理完後,會將sessionID同reponse 一起傳回客戶端,並將其存到cookie中;

當客戶端再發送請求的時候.會將sessionID連同request一起傳送給服務端;

服務端再根據傳過來的sessionID將這次request與儲存在服務端的session物件聯絡起來.此時的session物件已不是NEWSTATE狀態.

這樣迴圈多次.直到超時或銷燬.

注:當禁用cookie時也是不能使用session的;

cookie:

cookie是在客戶端儲存的方案.而session是在服務端儲存的方案.

如果cookie不設定時間的話就表視它的生命週期為瀏覽器會話的期間,只要關閉IE,cookie就消失了

這種cookie被稱為會話cookie.其一般不儲存在硬碟上.而是儲存在記憶體中.

如果設定了過期時間.那麼瀏覽器會把cookie儲存到硬碟中,再次打IE時會依然有效.直到它的有效期

超時;

注:儲存在硬碟中的cookie可以在不同IE間共享;