首頁  >  文章  >  後端開發  >  php中cookie和session區別

php中cookie和session區別

(*-*)浩
(*-*)浩原創
2019-09-05 10:36:104314瀏覽

php中cookie和session區別

認識cookie

Cookie英文是曲奇餅、小甜點的意思,在web應用中,也類似於程式大餐中的小甜品,在Internet 中,Cookie 實際上是指小量信息,是由Web 伺服器創建的,將信息存儲在用戶計算機上的文件,主要作用是記錄web應用中用戶的基本信息,也可以叫做瀏覽器緩存或Cookies。 (推薦學習:PHP視訊教學

web應用程式都是基於http協議進行網路交互,而http協議對每個web頁面提交的資訊不會進行記錄,而許多網站都有會員功能,如果每次跳轉頁面的時候都重新提交一次會員信息,那這個工作任務就太繁瑣,因此有了Cookie的誕生。

web應用程式可以在操作時,由伺服器端程式碼產生一個Cookie資訊保存在客戶端的瀏覽器中,產生一個很小的文件,此時的文件存在RAM運行記憶體中,如果用戶關閉瀏覽器會自動刪除Cookie資訊;如果程式產生一個帶有時間設定的cookie,那麼cookie檔案將存在實體記憶體中,下次造訪同一個web應用程式時,在設定時間範圍內,web應用程式仍能取得到cookie資訊。

相關專題推薦php session(包含圖文、影片、案例)

 認識session

Session概念:在電腦中,特別是在網路應用中,稱為「會話控制」。 Session 物件儲存特定使用者會話所需的屬性及設定資訊。

這樣,當使用者在應用程式的 Web 頁之間跳轉時,儲存在 Session 物件中的變數將不會遺失,而是在整個使用者會話中一直存在下去。當使用者要求來自應用程式的 Web 頁面時,如果該使用者還沒有會話,則 Web 伺服器將自動建立 Session 物件。

當會話過期或被放棄後,伺服器將終止該會話。 Session 物件最常見的一個用法就是儲存使用者的首選項。例如,如果使用者指明不喜歡查看圖形,就可以將該資訊儲存在 Session 物件中。

Session機制:session內容一般以檔案的形式儲存於伺服器中,而本機瀏覽器會儲存一個與伺服器中session檔案對應的Cookie值,Cookie儲存的是鍵值為「PHPSESSID ”的Seeion_id值。

使用者在存取web應用程式時,每次跳轉發生http請求時,都會自動把這個儲存session_id的Cookie值傳送過去,因此web應用程式的所有頁面都可以取得到這個SESSION_ID值,也就可透過session_id取得伺服器中儲存的session值,當使用者關閉瀏覽器後,cookie儲存的session_id自動清除,一般伺服器儲存的session檔案也會在30分鐘後自動清除。

COOKIE和SESSION的差異

(1)儲存位置:Cookie儲存在客戶端瀏覽器中,相對不安全;Session內容所在檔案儲存在伺服器中,一般在根目錄下的tmp資料夾中,相對更安全。

(2)數量與大小限制:Cookie儲存的資料在不同的瀏覽器會有不同的限制,一般在同一個網域下,Cookie變數數量控制在20個以內,每個cookie值的大小控制在4kb以內。 session值沒有大小和數量限制,但如果數量過多,會增加伺服器的壓力。

(3)內容區別:cookie保存的內容是字串,而伺服器中的session保存的資料是物件。

(4)路徑區別:session不能區分路徑,同一個用戶在訪問一個網站期間,所有的session在任何一個地方都可以訪問到;而cookie中如果設定了路徑參數,那麼同一個網站中不同路徑下的cookie互相是無法存取的。

以上是php中cookie和session區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn