Session會在瀏覽器關閉後消失嗎???

通常情況下,當我們關閉瀏覽器再重新打開後,我們就需要再次進行登陸(如果沒有進行下次自動登錄之類的設置)。在Jav中(Session是通用的,這裏以Java爲例)有一種叫做Session機制(會話機制)來記錄用戶的登錄信息。瀏覽器關閉之後,Session會被清除嗎?

       Session是一種服務器端的對象,保存在服務器中。 每個Session 有一個唯一的Session id。 Session的超時也是由服務器來控制。我們一般都會把Session和Cookie放在一起來說,它們具體的區別和聯繫這裏我就不多說了,可以去查閱相關資料。Cookie分爲內存中Cookie(也可以說是進程中Cookie)和硬盤中Cookie。大部分的Session機制都使用進程中Cookie來保存Session id的,關閉瀏覽器後這個進程也就自動消失了,進程中的Cookie自然就消失了,那麼Session id也跟着消失了,再次連接到服務器時也就無法找到原來的Session了。

       其實服務器是不會知道瀏覽器關閉了沒有(當然,你可以在關閉的時候去通知服務器,但一般都不會這樣做),所以關閉瀏覽器時服務器是不會刪除Session的,也正是這個原因服務器纔會設置一個Session失效時間的,不然服務器早晚會被撐爆的。等距離上一次使用該Session的時間達到設置的失效時間時,服務器就會認爲客戶端已停止活動,便會將相應的Session刪除。
       當然,我們可以在登陸時點擊下次自動登錄,比如說CSDN的“記住我一週”,或者我們的購物車信息可以在切換不同瀏覽器時依然可用。這就要用到我們上文提到的另一種Cookie了——硬盤中Cookie,這時Session id將長期保存在硬盤上的Cookie中,直到失效爲止。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章