SessionID的正確說明

2022-07-19 23:39:22 字數 894 閱讀 9914

by 羽依

17. 九月 2008 00:01

看這篇說明的時候,請先確認你基本會asp.net和一些原理.

找了csdn上很多文章和網上的一些文章對sessionid的解說都沒說清楚或者誤導.所以特別記下這裡了.

首先關於session的原理不明白的請查閱msdn或者asp.net高階程式設計等書籍.

然後說說這個 session.sessionid 是伺服器跟客戶端聯絡的時候,伺服器給客戶端的乙個唯一id,而且這個sessionid是儲存在客戶端cookies裡面的.

那其實很簡單明瞭了.

首先問題1:為什麼每次重新整理sessionid都會變化?

因為原理裡說到的只有你使用session的時候他才作用.所以你必須要用session["xx"]這樣的任何方式使用了session之後,他才不會每次都重新整理變化.

問題2:為什麼session["xx"]過期了,session["xx] 都 null了. sessionid在下一次的時候還是不變,只有關閉瀏覽器之後才變化?

這也很明白,sessionid說過是儲存在客戶端的cookies裡面了吧?伺服器那裡session過期了是伺服器的事情.伺服器session過期了不會通知你客戶端的.

客戶端cookies還儲存著這個cookie,所以即使瀏覽器很久沒動,伺服器端過期了.sessionid還是一樣的.要不一樣除非客戶端cookies過期了.

所以要不你自己清cookies,要不讓ie的cookies機制或者之前設定好的cookies過期時間到期後,sessionid才會從cookies中清除,然後下次登陸伺服器的時候sessionid才會變化.

可以那麼說,目前的session(無論asp,php,jsp,aspx)是cookies的應用(雖然還有其他方式,不過基本上不會用),只要明白了這個的話,了解session是不難的.

sessionId的建立規則

那麼session在何時建立呢?建立 sessionid第一次產生是在直到某server端程式呼叫 httpservletrequest.getsession true 這樣的語句時才被建立。sessionid是乙個會話的key,瀏覽器第一次訪問伺服器會在伺服器端生成乙個session,有乙個ses...

C 中SESSIONID的獲取

為了區分不同的使用者,會在每次訪問這個站點時給此會話乙個id,我們稱之為sessionid,而這個id在每個ie會話中是可以直接看到的,但在模擬登入中就很難獲取到。我就在這個問題上卡了很長時間的殼,現在將此問題的解決方案寫出來,以供後人參考。其實說來得到這個sessionid的原理非常簡單,就是在每...

我對sessionid的理解

大家想,人與人之間說話交流,辨別你是小明還是小紅。第一點 可能就是 外表 光 第二點就是說話的音色 空氣 上面的例項說明了一件基本事實,兩個不同個體之間,判別對方,需要通過 至少一種憑據 和 必備的媒介 例如光 空氣 由此 可以想到 瀏覽器 與 服務端也是需要一種憑據 和 媒介。最早之前伺服器與瀏覽...