Session&Cookie 的介紹和使用
Session介紹與使用
1.Session基本介紹
Session:在計算機中,尤其是在網絡應用中,稱為“會話控制”。Session 對象存儲特定用戶會話所需的屬性及配置信息。這樣,當用戶在應用程序的 Web 頁之間跳轉時,存儲在 Session 對象中的變量將不會丟失,而是在整個用戶會話中一直存在下去。當用戶請求來自應用程序的 Web 頁時,如果該用戶還沒有會話,則 Web 服務器將自動創建一個 Session 對象。當會話過期或被放棄後,服務器將終止該會話。Session 對象最常見的一個用法就是存儲用戶的首選項。
在計算機專業術語中,Session是指一個終端用戶與交互系統進行通信的時間間隔,通常指從註冊進入系統到註銷退出系統之間所經過的時間。以及如果需要的話,可能還有一定的操作空間。需要註意的是,一個Session的概念需要包括特定的客戶端,特定的服務器端以及不中斷的操作時間。
2.工作原理
(1)當一個session第一次被啟用時,一個唯一的標識被存儲於本地的cookie中。
(2)首先使用session_start()函數,PHP從session倉庫中加載已經存儲的session變量。
(3)當執行PHP腳本時,通過使用session_register()函數註冊session變量。
(4)當PHP腳本執行結束時,未被銷毀的session變量會被自動保存在本地一定路徑下的session庫中,這個路徑可以通過php.ini文件中的session.save_path指定,下次瀏覽網頁時可以加載使用。
3.使用方法
Session 是 用於保持狀態的基於 Web服務器的方法。Session 允許通過將對象存儲在 Web服務器的內存中在整個用戶會話過程中保持任何對象。
Session 通常用於執行以下操作
存儲需要在整個用戶會話過程中保持其狀態的信息,例如登錄信息或用戶瀏覽 Web應用程序時需要的其它信息。存儲只需要在頁面重新加載過程中或按功能分組的一組頁之間保持其狀態的對象。
Session 的作用就是它在 Web服務器上保持用戶的狀態信息供在任何時間從任何設備上的頁面進行訪問。因為瀏覽器不需要存儲任何這種信息,所以可以使用任何瀏覽器,即使是像 Pad 或手機這樣的瀏覽器設備。
持久性方法的限制
隨著越來越多用戶登錄,Session 所需要的服務器內存量也會不斷增加。
訪問 Web應用程序的每個用戶都生成一個單獨的 Session 對象。每個 Session 對象的持續時間是用戶訪問的時間加上不活動的時間。
如果每個 Session 中保持許多對象,並且許多用戶同時使用 Web應用程序(創建許多 Session),則用於 Session 持久性的服務器內存量可能會很大,從而影響了可伸縮性。
Cookie 的介紹和使用
1.基本介紹
Cookie 技術產生源於 HTTP 協議在互聯網上的急速發展。隨著互聯網的深層次發展,帶寬等限制不存在了,人們需要更復雜的互聯網交互活動,就必須同服務器保持活動狀態。於是,在瀏覽器發展初期,為了適應用戶的需求,技術上推出了各種保持 Web 瀏覽狀態的手段,其中就包括了 Cookie 技術。Cookie 可以翻譯為“小甜品,小餅幹” ,Cookie 在網絡系統中幾乎無處不在。
Cookie 在計算機中是個存儲在瀏覽器目錄中的文本文件,當瀏覽器運行時,存儲在 RAM 中發揮作用 (此種 Cookies 稱作 Session Cookies),一旦用戶從該網站或服務器退出,Cookie 可存儲在用戶本地的硬盤上 (此種 Cookies 稱作 Persistent Cookies)。
2.技術簡介
Cookie 是在 HTTP 協議下,服務器或腳本可以維護客戶工作站上信息的一種方式。Cookie 是由 Web 服務器保存在用戶瀏覽器(客戶端)上的小文本文件,它可以包含有關用戶的信息。無論何時用戶鏈接到服務器,Web 站點都可以訪問 Cookie 信息。
3.使用
服務器可以利用Cookies包含信息的任意性來篩選並經常性維護這些信息,以判斷在HTTP傳輸中的狀態。Cookies最典型的應用是判定註冊用戶是否已經登錄網站,用戶可能會得到提示,是否在下一次進入此網站時保留用戶信息以便簡化登錄手續,這些都是Cookies的功用。另一個重要應用場合是“購物車”之類處理。用戶可能會在一段時間內在同一家網站的不同頁面中選擇不同的商品,這些信息都會寫入Cookies,以便在最後付款時提取信息。
用戶可以改變瀏覽器的設置,以使用或者禁用Cookies。
微軟Internet Explorer
工具 > Internet選項 > 隱私頁
調節滑塊或者點擊“高級”,進行設置.
Mozilla Firefox
工具>選項>隱私
(註: 在Linux版本中,是如下操作:編輯 > 首選項 > 隱私 , 而Mac則是:Firefox > 屬性 > 隱私)
設置Cookies選項
設定阻止/允許的各個域內Cookie
查看Cookies管理窗口,檢查現存Cookie信息,選擇刪除或者阻止它們
對於 Cookie 來說,假設我們要驗證用戶是否登陸,就必須在 Cookie 中保存用戶名和密碼(可能是 md5 加密後字符串),並在每次請求頁面的時候進行驗證。如果用戶名和密碼存儲在數據庫,每次都要執行一次數據庫查詢,給數據庫造成多余的負擔。網站可以利用cookies跟蹤統計用戶訪問該網站的習慣,比如什麽時間訪問,訪問了哪些頁面,在每個網頁的停留時間等。利用這些信息,一方面是可以為用戶提供個性化的服務,另一方面,也可以作為了解所有用戶行為的工具,對於網站經營策略的改進有一定參考價值。
Session&Cookie 的介紹和使用