瀏覽器關閉了是否session就自動消失了呢

2021-05-27 23:52:05 字數 677 閱讀 7389

在談論session機制的時候,常常聽到這樣一種誤解「只要關閉瀏覽器,session就消失了」。其實可以想象一下會員卡的例子,除非顧客主動對店家提出銷卡,否則店家絕對不會輕易刪除顧客的資料。對session來說也是一樣的,除非程式通知伺服器刪除乙個session,否則伺服器會一直保留,程式一般都是在使用者做log off的時候發個指令去刪除session。然而瀏覽器從來不會主動在關閉之前通知伺服器它將要關閉,因此伺服器根本不會有機會知道瀏覽器已經關閉,之所以會有這種錯覺,是大部分session機制都使用會話cookie來儲存session id,而關閉瀏覽器後這個 session id就消失了,再次連線伺服器時也就無法找到原來的session。如果伺服器設定的cookie被儲存到硬碟上,或者使用某種手段改寫瀏覽器發出的http請求頭,把原來的session id傳送給伺服器,則再次開啟瀏覽器仍然能夠找到原來的session。

恰恰是由於關閉瀏覽器不會導致session被刪除,迫使伺服器為seesion設定了乙個失效時間,當距離客戶端上一次使用session的時間超過這個失效時間時,伺服器就可以認為客戶端已經停止了活動,才會把session刪除以節省儲存空間。

附:開兩個瀏覽器視窗訪問應用程式會使用同乙個session還是不同的session?

對session來說是只認id不認人,因此不同的瀏覽器,不同的視窗開啟方式以及不同的cookie儲存方式都會對這個問題的答案有影響。

關閉瀏覽器後,session是否還存在?

session是基於cookie的一種會話技術,資料存放存放在伺服器端。客戶端在cookie攜帶jsessionid tomcat伺服器生成 來訪問服務端,獲取對應jsessionid的session資料。session建立和銷毀 建立 呼叫request.getsesion建立 銷毀 伺服器關閉 ...

瀏覽器關閉後,Session會話結束了麼?

今天想和大家分享乙個關於session的話題 當瀏覽器關閉時,session就被銷毀了?我們知道session是jsp的九大內建物件 也叫隱含物件 中的乙個,它的作用是可以保 存當前使用者的狀態資訊,初學它的時候,認為session的生命週期是從開啟乙個瀏覽器窗 口傳送請求到關閉瀏覽器視窗,但其實這...

js判斷瀏覽器是否關閉

今日整到此處,特將網上搜刮來的資訊貼於此,以供大家共享之 window.onbeforeunload function 三大主流瀏覽器中firefox和ie都支援onbeforeunload事件,opera尚未支援。用法 描述 事件觸發的時候彈出乙個有確定和取消的對話方塊,確定則離開頁面,取消則繼續...