簡單易懂,Session的工作方式(轉)

來源:互聯網
上載者:User
session   下面我們來看一下Session是如何工作的。不知你是否知道通過Cookie來實現身份認證的吧。首先產生一個獨一無二的Cookie作為使用者身份的標誌,並在資料庫中進行註冊。然後通過使用者傳遞來的Cookie和資料庫中註冊的Cookie進行對照以確定使用者的身份。
  Session的工作原理也是這樣。
  首先,PHP為建立Session的使用者產生一個獨一無二的字串,用來標誌這個使用者的session。一般將這個字串稱作Session Id。然後“sess”+Session Id為檔案名稱(例如一個Session ID為111,那麼檔案名稱為sess_111)在伺服器的檔案系統中建立一個檔案,在檔案中儲存使用者在Session所定義的全域變數的變數名和值。然後再將Session Id作為一個名為PHPSession的Cookie儲存在使用者端的檔案系統中。
  然後,當使用者再次串連伺服器訪問一個PHP指令碼時,PHP從使用者發來的PEESession這個Cookie中得到使用者所在Session的Session Id,並根據Session Id從伺服器的檔案系統中儲存Session資訊的檔案。最後從這個檔案中讀出使用者在上次串連時所設定的全域變數的值。
  因此,我們可以看到Session的工作原理和我們上一節所介紹的身份認證的工作原理是一樣的。所不同的只是Session將資訊儲存在了伺服器的檔案系統中,而我們將資訊儲存在了資料庫中。當然使用Session好處就是資料的儲存和擷取是由PHP自動完成的,而直接使用Cookie的話就需要自己動手進行資料的儲存和擷取。
  Session利用Cookie的身份標誌功能,將使用者在瀏覽網站時需要儲存的資訊儲存在伺服器上。這樣Session既克服了HTTP協議的缺陷,又防止了資訊的泄漏,而且方便了編程者的使用,是一個非常好的解決方案。不過,Session的功能只有PHP4支援,PHP3是不支援Session的。因此使用PHP3進行網站構建的讀者只能採用直接使用Cookie的方式。


相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。