cookie和session的區別

首先要區分它們,咱們要先明白它們各自的定義是什麼。瀏覽器

Cookie

  Cookie是在Http協議下,服務器或腳本能夠維護客戶工做站上消息的一種方式。Cookie是由Web服務器保存在用戶瀏覽器(客戶端)上的小文本文件,它能夠包含有關用戶的消息。不管什麼時候用戶連接到服務器,Web站點均可以訪問Cookie消息。服務器

功能

  在同一個頁面中設置Cookie,其實是按從後往前的順序進行的。若是要先刪除有關Cookie,在寫入有關Cookie,就必須先寫寫入語句,在寫刪除語句,不然會出現錯誤。
網站

  Cookie是面向路徑的。缺省路徑屬性時,Web服務器就會知道傳遞當前路徑給瀏覽器,指定路徑強制服務器使用設置的路徑。在一個目錄頁裏設置的Cookie在另外一個目錄的頁面裏是看不到的。url

  Cookie必須在HTML文件的內容輸出以前設置;不一樣的瀏覽器對Cookie的處理不一致;客戶端用戶若是設置禁止Cookie,則Cookie不能創建。而且在客戶端一個瀏覽器能促進的Cookie數量最多爲300個。並且每一個不超過4KB,每一個Web站點能設置的Cookie總數不能錯過20個spa

Session

  Session是一種保存上下文信息的機制,它是針對每個用戶的,Session的內容在服務器端,經過SessionId來區分不一樣的客戶,Session是以Cookie或url重寫爲基礎的,默認用Cookie來實現。對象

  當一個Session第一次被啓用時,一個惟一的標識被存儲於本地的Cookie中。字符串

區別

  1.Session保存在服務器,瀏覽器(客戶端)不知道其中的消息;Cookie保存在瀏覽器(客戶端),服務端能夠知道其中的消息。全部在打開另外一個瀏覽器後,Cookie的值就不一樣了,而Session保存的對象,只要不關閉服務器,仍是同樣的。io

  2.Session保存的是對象,Cookie保存的是字符串基礎

  3.Session不能區分路徑,同一個用戶在訪問一個網站期間,全部的Session在任何一個地方均可以訪問到,而Cookie若是設置了路徑參數,那麼同一個網站中不一樣的路徑下的Cookie相互之間是訪問不到的。服務器端

  4.Session是須要藉助Cookie才能正常工做的,全部說Session是基於Cookie的基礎上實現的,若是瀏覽器(客戶端)徹底禁止Cookie,那麼Session也會失效。

相關文章
相關標籤/搜索