1. 程式人生 > >2、什麽是session?

2、什麽是session?

將不 實現 哪裏 第一次 程序 重新登錄 自己 沒有 會話控制

session

什麽是Session?Session什麽時候產生?

???Session:在計算機中,尤其是在網絡應用中,稱為“會話控制”。Session 對象存儲特定用戶會話所需的屬性及配置信息。這樣,當用戶在應用程序的 Web 頁之間跳轉時,存儲在 Session 對象中的變量將不會丟失,而是在整個用戶會話中一直存在下去。當用戶請求來自應用程序的 Web 頁時,如果該用戶還沒有會話,則 Web 服務器將自動創建一個 Session 對象。當會話過期或被放棄後,服務器將終止該會話。
???簡單來說,客戶端瀏覽服務端的時候,服務端把客戶端信息以某種形式記錄在服務器上,這種記錄就是Session。所以Session是保存在服務器上的。

為什麽要使用Session?什麽是SessionID?

???因為很多第三方可以獲取到這個Cookie,服務器無法判斷Cookie是不是真實用戶發送的,所以Cookie可以偽造,偽造Cookie實現登錄進行一些HTTP請求。如果從安全性上來講,Session比Cookie安全性稍微高一些,我們先弄清一點,SessionID是從哪裏來的,sessionID是如何使用的:客戶端第一次請求Session對象時候,服務器會為客戶端創建一個session,並將通過特殊算法算出一個session的ID,下次請求資源時(Session未過期),瀏覽器會將sessionID(實質是cookie)放置到請求頭中,服務器接收到請求後就得到該請求的SessionID,服務器找到該id的session返還給請求者使用。一個會話只能有一個session對象,對session來說是只看sessionID。按理來說,只要知道SessionID就可以進行偽登錄。但是你想得到這個sessionID,得知道別人什麽時候進行登錄。同時sessionID是加密的,session過期時sessionID也會失效,想在短時間內功破加了密的sessionID有點難度。

Session的生命周期?

???根據需求設定,一般來說,半小時。舉個例子,你登錄一個服務器,服務器返回給你一個sessionID,登錄成功之後的半小時之內沒有對該服務器進行任何HTTP請求,半小時後你進行一次HTTP請求,會提示你重新登錄。這就是我們常說的Session已失效,也就是說就算的session_id還存在,但是session照樣會結束自己的生命周期。

2、什麽是session?