1. 程式人生 > >Cookie和Session的理解及區別

Cookie和Session的理解及區別

一、為什麼用Cookie和Session

  • 很多時候客戶端和伺服器進行互動,使用了HTTP協議,說那是HTTP協議是無狀態的;HTTP協議的請求過程,是基於TCP/IP的,當客戶算請求伺服器,伺服器處理後,進行響應,該過程是無狀態的。

  • 但是在有時候是需要儲存一些客戶端的請求資訊,識別客戶端的某些狀態,只能的,有針對性的去分析某些客戶端的習慣。這時候,就需要記錄客戶端的連結狀態,識別請求的狀態等。所以為了解決尅死的事情,就需要使用到Cookie和Session。

  • 比如,使用Cookie的場景:有些網站有記住使用者名稱的功能,下次進入該網站時,就會儲存上一次登入的使用者名稱;
    使用Session的場景:利用Session來驗證使用者是否已登入,利用Session來儲存驗證碼。
    二、Cookie和Session是什麼

  • Cookie:在客戶端訪問某個地址時,會將請求交到伺服器進行處理,在傳送請求的時候,瀏覽器會將頁面的頭部資訊一併交到伺服器端j進行處理。在處理的過程中,Cookie在伺服器端生成,在此同時,可以將一些需要儲存的資訊,存放到此Cookie中。

  • Session:Session是在伺服器端生成的,儲存在伺服器端。
    三、Cookie和Session的區別

  • session儲存在伺服器端,客戶端不知道其中的資訊;cookie儲存在客戶端,服務端可以知道其中的資訊

  • session中儲存的是物件,cookie中儲存的是字串

  • session不能區分路徑,同一個使用者在訪問一分網站期間,所有的session在任何一個地方都可以訪問到;而cookie中如果設定了路徑引數,那麼同一個網站中不同路徑下的cookie互相是訪問不到的
    四、Cookie和Session的聯絡

  • session是需要藉助cookie才能正常工作的,如果客戶端完全禁止cookie,session將失效