PHP中Session是什麼意思?

2020-07-16 10:06:25

在PHP中Session是一種伺服器端的機制,是用來記錄使用者的有關資訊,以供使用者再次以這個身份對Web伺服器發起請求,Session與Cookie的最大的區別是後者是儲存用戶端的,而前者是儲存在伺服器端的。

Session 在 Web 技術中佔有非常重要的地位。由於網頁是一種無狀態的連線程式,無法記錄使用者的瀏覽狀態,所以需要通過 Session 來記錄使用者的有關資訊,以供使用者再次以這個身份對 Web 伺服器發起請求。

推薦教學:《SESSION實現登入與驗證

Session 中文是「對談」的意思,與 Cookie 類似,都是用來儲存使用者相關資料的,比如使用者名稱、存取許可權、登陸時間等。與 Cookie 最大不同之處在於 Cookie 是將資料存放於用戶端電腦之中,而 Session 則是將資料存放於伺服器系統之下。

當開啟一個 Session 時,PHP 將會建立一個隨機的 Session ID(例如「t5is1r7ct740dn390kuv3mpcse」),每個使用者的 Session ID 都是唯一的,而且 Session ID 與伺服器上儲存該使用者 Session 資料的文字檔案名稱相同。

Session ID 會分別儲存在用戶端和伺服器端兩個位置。

  • 用戶端,使用臨時的 Cookie 儲存在瀏覽器指定目錄中,Cookie 名稱預設為「PHPSESSID」;

  • 伺服器端,以文字檔案形式儲存在指定的 Session 目錄中。

預設情況下,這個 Session ID 將作為一個 Cookie 傳送給 Web 瀏覽器,接下來 PHP 頁面將使用這個 Cookie 來存取 Session 的資訊。

與 Cookie 相比,Session 擁有以下的優勢:

  • 通常情況下 Session 更加安全,因為 Session 中的資料不會在用戶端和伺服器端來回重複傳遞;

  • Session 能夠儲存比 Cookie 更多的資訊;

  • 在使用者禁用 Cookie 的情況下,使用一些方法任然能保持 Session 正常工作。

Session 的工作原理

Snipaste_2020-06-28_11-30-35.png

推薦教學:《PHP

以上就是PHP中Session是什麼意思?的詳細內容,更多請關注TW511.COM其它相關文章!