⑴ Session是什麼意思啊
session簡介
session直接翻譯成中文比較困難,一般都譯成時域。在計算機專業術語中,session是指一個終端用戶與交互系統進行通信的時間間隔,通常指從注冊進入系統到注銷退出系統之間所經過的時間。
具體到web中的session指的就是用戶在瀏覽某個網站時,從進入網站到瀏覽器關閉所經過的這段時間,也就是用戶瀏覽這個網站所花費的時間。因此從上述的定義中我們可以看到,session實際上是一個特定的時間概念。
需要注意的是,一個session的概念需要包括特定的客戶端,特定的伺服器端以及不中斷的操作時間。a用戶和c伺服器建立連接時所處的session同b用戶和c伺服器中建立連接時所處的sessions是兩個不同的session。
編輯本段session的解決方案
那什麼是session的解決方案呢?我們知道,用戶訪問一個網站時往往需要瀏覽許多網頁。對於一個通過php構築的網站來說,用戶在訪問的過程中需要執行許多的php腳本。然而由於http協議自身的特點,用戶每執行一個php腳本都需要和web伺服器重新建立連接。
又由於無狀態記憶的特點,此次連接無法得到上次連接的狀態。這樣,用戶在一個php腳本中對一個變數進行了賦值操作,而在另外一個php腳本中卻無法得到這個變數的值。例如,用戶在負責登錄的php腳本中設置了$user="wind",卻無法在另一個php腳本中通過調用$user來獲得「wind」這個值。也就是說,在php中無法設置全局變數。每個php腳本中所定義的變數都是只在這個腳本內有效的局部變數。
session解決方案,就是要提供在php腳本中定義全局變數的方法,使得這個全局變數在同一個session中對於所有的php腳本都有效。上面我們提到了,session不是一個簡單的時間概念,一個session中還包括了特定的用戶和伺服器。因此更詳細地講,在一個session定義的全局變數的作用范圍,是指這個session所對應的用戶所訪問的所有php。
例如a用戶通過session定義了一個全局變數$user=「wind」中,而b用戶通過session定義的全局變數$user=「jane」。那麼在a用戶所訪問的php腳本中,$user的值就是wind。