1. 程式人生 > >關閉瀏覽器後Session失效原因分析

關閉瀏覽器後Session失效原因分析

1.從伺服器的角度看:session的壽命週期預設是30分鐘,這裡指的是某個session物件在服 務器中的記憶體中的壽命。

2.從瀏覽器的角度看:當我們的瀏覽器首次訪問伺服器的某個servlet的時候會建立一個新的session物件(如果這個被訪問的servlet有獲取session物件的語句) 後會把此session物件的id號碼通過cookie的方式回寫到客戶端瀏覽器,只不過預設的cookie壽命為-1 即當瀏覽器退出是此id已經不復存在,這樣的話瀏覽器再次開啟後拿不到這個已經丟失的id號碼(本地緩衝中也沒有就是因為預設的cookie壽命為-1), 再次訪問的時候就無法找到那個session物件了(因為web伺服器需要根據瀏覽器提供的sessionId 來標識某個對應的session物件)。
也就是說不管怎麼樣,瀏覽器要擁有一個session的id號碼,每次的訪問都會帶著這個id號碼去尋找伺服器裡面的session物件。 當然了這個session物件如果已經失效了,那麼再有瀏覽器以這個失效的session物件id來尋找伺服器中的session物件,伺服器會從新建立一個新的session物件,並且把id 設定為這次瀏覽器帶過來的這個id (就是說找不到這個id的session了 ,伺服器給你建立一個同樣id號的session,只不過這個session是全新的,沒有以前的資料。)