session簡單理解

2021-09-25 19:54:04 字數 767 閱讀 8036

一、session和cookie的區別

session是在伺服器端保持會話資料的一種方法(通常用於pc端**保持登入狀態,手機端通常會使用token方式實現),儲存在服務端。

cookie是在客戶端保持使用者資料,儲存位置是客戶端(瀏覽器或者手機端)。

二、原理

1、當**session_start(); 執行的時候,就在伺服器上產生了乙個session檔案,隨之也產生了與之唯一對應的乙個session_id。

2、定義的session變數以一定形式儲存在剛才產生的session檔案中。客戶端將session_id傳遞給服務端,服務端根據session_id找到對應的檔案,讀取的時候,對檔案內容進行反序列化就能得到session的值,儲存的時候先序列化再寫入。由此通過session_id可以取出之前定義的變數。

3、也就是說,session_id是取得儲存在伺服器端session變數的身份證。

注:php中的session在預設的情況下,是使用客戶端的cookie來儲存session_id的(session_start();之後,會自動將session_id儲存在cookie中),但是必須注意,session不一定必須依賴cookie,這也就是session相比於cookie的高明之處。當客戶端的cookie被禁用或出現問題時,php會自動把session_id附著在url中,這樣再通過session_id就能實現跨頁使用session變數了。但是這種附著也是有一定條件的,即php.ini檔案中的「session.use_trans_sid=1」或者編譯時開啟了–enable-trans-sid選項。

簡單理解cookie與session

web應用程式的請求與響應基於http,為無狀態的通訊協議。當使用者的一次訪問請求結束後,後端伺服器就無法識別下一次來訪問的是否為上一次的使用者。cookie作為在瀏覽器儲存資訊的一種方式,使用者通過對cookie的設定和讀取,可以保持與後端伺服器的互動狀態。隨著cookie個數的增多和訪問量的增加...

Cookie 和 Session區別(簡單理解)

區別 cookie 資料是存放在客戶的瀏覽器上的,session資料是放在伺服器上 cookie 安全性相比session較低,可將登入資訊等重要資訊存放在session,其他資訊需要儲存,可以放在cookie 由於session會在一定時間內儲存在伺服器上。訪問增多時,會比較占用伺服器的效能,考慮...

session再次理解

1.session介紹 session主要用來儲存使用者的會話所需的資訊 使用者行為資訊 當使用者在同乙個伺服器上實現不同的操作時,session資訊會以變數的形式儲存在伺服器的記憶體中,儲存使用者的狀態資訊,使用者第一次訪問服務時,伺服器上不存在該使用者session的資訊,會為其建立乙個sess...