簡要介紹cookie與session的區別與聯繫

一cookie和session的區別

一、cookie是什麼?

    cookie是存在於客戶端(瀏覽器)。html

  cookie的使用是由瀏覽器按照必定的原則在後臺自動發送給服務器的。瀏覽器檢查全部存儲的cookie,若是某個cookie所聲明的做用範圍大於等於將要請求的資源所在的位置,則把該cookie附在請求資源的HTTP請求頭上發送給服務器。後端

  cookie的內容主要包括:名字,值,過時時間,路徑和域。其中路徑與域一塊兒構成cookie的做用範圍。若不設置過時時間,則表示這個cookie的生命期爲瀏覽器會話期間,關閉瀏覽器窗口,cookie就消失。以下圖:訪問百度獲得的cookie,域都是指向百度的。瀏覽器

二、session是什麼?

   session 存在於服務器端。 服務器

    session機制是一種服務器端的機制,服務器使用一種相似於散列表的結構(也可能就是使用散列表)來保存信息。 cookie

2、cookie與session如何聯繫與通訊的

    cookie和session的做用都是爲了保持訪問用戶與後端服務器的交互狀態session

    用戶首次與Web服務器創建鏈接的時候,服務器會給用戶分發一個 SessionID做爲標識。SessionID是一個由24個字符組成的隨機字符串。用戶每次提交頁面,瀏覽器都會把這個SessionID包含在 HTTP頭中提交給Web服務器,這樣Web服務器就能區分當前請求頁面的是哪個客戶端。這個SessionID就是保存在客戶端的,屬於客戶端Session。其實客戶端Session默認是以cookie的形式來存儲的。固然咱們客戶端能夠禁用cookie,這時候服務器端就拿不到sessionID。url

    另一個辦法:使用url方式存儲sessionID;可是通常都不推薦使用,由於能夠僞造url。spa

參考網址:http://www.cnblogs.com/lingshao/p/5580273.htmlhtm

參考書籍:《深刻分析Java Web技術內幕》(修訂版)第十章 深刻理解session和cookieblog

相關文章
相關標籤/搜索