1. 程式人生 > >為什麼會有session 和 cookie ,以及兩者的區別

為什麼會有session 和 cookie ,以及兩者的區別

為什麼會有session和cookie技術

當用戶在傳送一個請求關得到返回資訊之後,客戶端與伺服器端之間的網路連線就已經斷開了,在下一個請求傳送時,伺服器無法確定這次請求和上次的請求是否來自同一個客戶端。也就是說,伺服器不能記住”記住”使用者,這是 http 協議的限制,http 是無狀態的協議在web應用程式中,實際上是經常需要記住每次請求的。那麼,如何讓伺服器知道不同的請求是否來自同一個客戶端,就是狀態管理問題出現了session和cookie。

1,session 在伺服器端,cookie 在客戶端(瀏覽器)
2,session 預設被存在在伺服器的一個檔案裡(不是記憶體)
3,session 的執行依賴 session id,而 session id 是存在 cookie 中的,也就是說,如果瀏覽器禁用了 cookie ,同時 session 也會失效(但是可以通過其它方式實現,比如在 url 中傳遞 session_id)
4,session 可以放在 檔案、資料庫、或記憶體中都可以。
5 , cookie 是一個實際存在的東西,http 協議中定義在 header 中的欄位。可以認為是 session 的一種後端無狀態實現。

  1. session 維持一個會話的核心就是客戶端的唯一標識,即 session id
  2. cookie 常用來儲存一些不太敏感的資訊