Session的創建過程和有效期

2016-08-12 1659 5 編輯:深色多郎 來源:程序設計

1.Session的創建和使用過程及有效期

當用戶請求網站中的任意一個頁面時,若用戶尚未建立Session對象(如第一次訪問),則服務器會自動為用戶創建一個Session對象(它包含唯一的Session ID 和其他Session變量),并保存在服務器內存中,不同用戶的Session對象存儲著各自特定的信息。

服務器將Session ID 發送到客服端瀏覽器,而瀏覽器則將該Session ID 保存在會話Cookie中。當瀏覽器再次向服務器發送HTTP請求時,會將Session ID 信息一起發送給服務器。服務器根據該Session ID 查找到對應的Session對象,就對識別出用戶。這將有利于服務器對用戶身份的鑒定,從而實現Web頁面的個性化。

注意區分Session對象和Session變量,對于每個網站的訪問者來說,網站都會為其建立一個Session對象,該Session對象中有一個SessionID。如果程序中沒有創建Session變量的代碼,那么每個用戶的Session對象中只含有Session ID。否則,該Session對象中還包含許多個Session變量,也就是說,每個用戶都有一個獨立的Session對象,每個用戶可以有0個到多個獨立的Session變量。

2.Session的生命期

Session對象的生命期是從用戶在Session有效期內第一次訪問網站直到不再訪問網站為止的這段時間。因此,一個Session開始于用戶打開這個網站中的任意一個網頁;結束于用戶不再訪問這個站點,包括Session超時或主動刪除Session兩種情況。

注意:不再訪問這個站點不等于關閉瀏覽器。

關閉瀏覽器并不會使一個Session結束,因為服務器并不知道用戶關閉了瀏覽器,但是會使這個Session永遠都無法訪問到。因為當用戶再打開一個新的瀏覽器窗口又會產生一個新的Session。

3.設置Session的有效期

Session對手、下并不是一直有效的,它有一個有效期的,默認為24分鐘(1440秒)。如果客戶端超過24分鐘沒有刷新網頁或訪問網站中的其他網頁,則該Session對象就會自動結束。不過可以修改Session對象的默認有效期,一種方法是在php的配置文件php.ini中修改系統默認值(session.gc_maxlifetime = 1440)。另一種方法是利用ini_set()方法更改Session對象的默認有效期。

擴展閱讀:如何使用$_SESSION設置和獲取SESSION? 

本站文章均為深正網站建設摘自權威資料,書籍,或網絡原創文章,如有版權糾紛或者違規問題,請即刻聯系我們刪除,我們歡迎您分享,引用和轉載,但謝絕直接搬磚和抄襲!感謝...
關注深正互聯
七星彩头尾