回覆列表
  • 1 # 蛋黃大雞翅

    Cookie與Session的區別在於資料存放位置不同、安全程度不同、效能使用程度不同和資料儲存大小不同。

    1、資料存放位置不同

    cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。

    2、安全程度不同

    cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙,考慮到安全應當使用session。

    3、效能使用程度不同

    session會在一定時間內儲存在伺服器上。當訪問增多,會比較佔用你伺服器的效能,考慮到減輕伺服器效能方面,應當使用cookie。

    4、資料儲存大小不同

    單個cookie儲存的資料不能超過4K,很多瀏覽器都限制一個站點最多儲存20個cookie,而session則儲存與服務端,瀏覽器對其沒有限制。

    本來 session 是一個抽象概念,開發者為了實現中斷和繼續等操作,將 user agent 和 server 之間一對一的互動,抽象為“會話”,進而衍生出“會話狀態”,也就是 session 的概念。

    而 cookie 是一個實際存在的東西,http 協議中定義在 header 中的欄位。可以認為是 session 的一種後端無狀態實現。

    而我們今天常說的 “session”,是為了繞開 cookie 的各種限制,通常藉助 cookie 本身和後端儲存實現的,一種更高階的會話狀態實現。

    所以 cookie 和 session,你可以認為是同一層次的概念,也可以認為是不同層次的概念。具體到實現,session 因為 session id 的存在,通常要藉助 cookie 實現,但這並非必要,只能說是通用性較好的一種實現方案。

  • 中秋節和大豐收的關聯?
  • 提供一些謙辭敬辭?