在PHP中Session是一種伺服器端的機制,是用來記錄使用者的有關信息,以供使用者再次以這個身分對Web伺服器發起請求,Session與Cookie的最大的區別是後者是儲存客戶端的,而前者是儲存在服務端的。
Session 在 Web 技術中佔有非常重要的地位。由於網頁是一種無狀態的連接程序,無法記錄使用者的瀏覽狀態,所以需要透過 Session 來記錄使用者的有關信息,以供使用者再次以這個身分對 Web 伺服器發起請求。
推薦相關文章:2020年最全js面試題整理(最新)
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 更多的資訊;
Session 的工作原理
推薦教學:《PHP》
以上是PHP中Session是什麼意思?的詳細內容。更多資訊請關注PHP中文網其他相關文章!