cookie和session的初步瞭解

目錄

Session簡介

Cookie簡介

cookie和session的比較:



Session:服務器端記錄用戶狀態的機制

使用Session的原因:由於HTTP協議是無狀態的協議,所以服務端需要記錄用戶的狀態。 

Session的存儲:Session是保存在服務器端的,有一個唯一標識:Session ID。在服務端保存Session的方法很多,內存、數據庫、文件都可以。

Session的作用:Session記錄了特定用戶的會話(訪問,請求)的屬性信息/配置信息。   當用戶在應用程序的 Web 頁之間跳轉時,存儲在 Session 對象中的變量將不會丟失,而是在整個用戶會話中一直存在下去。     當用戶請求來自應用程序的 Web 頁時,如果該用戶還沒有會話,則 Web 服務器將自動創建一個 Session 對象。當會話過期或被放棄後,服務器將終止該會話。

 

 

cookie:瀏覽器儲存用戶數據,輔助Session實現用戶識別

使用cookie的原因:在session中存儲了用戶狀態,但是服務器端需要知道我們是對哪個用戶進行操作,這時候可以用cookie來幫助識別特定的用戶。(大多數的應用都是用 Cookie 來實現Session跟蹤的

cookie信息的來源:服務器端傳給客戶端的少量數據。

  • cookie存儲信息的形式:鍵值對形式。
  • 工作機制:(現在通常是這樣)
    • cookie通過對HTTP擴展實現,當你訪問網站時,服務器通過在HTTP響應頭上加一些附加信息來使瀏覽器生成響應的cookie,記錄一些數據保存在本地。  一些客戶端腳本JavaScript也可以生成cookie。
    • 當需要使用cookie的時候,瀏覽器按照某種原則將cookie發給服務器,服務器根據cookie來進行不同的響應。
  • cookie的內容:名字,值,過期時間,路徑和域。
    • 路徑與域:一起構成cookie的作用範圍。(表示cookie記錄的是誰的信息)
    • 若不設置過期時間,則表示這個cookie的生命期爲瀏覽器會話期間,關閉瀏覽器窗口,cookie就消失。這種生命期爲瀏覽器會話期的cookie被稱爲會話cookie。  會話cookie一般不存儲在硬盤上而是保存在內存裏,當然這種行爲並不是規範規定的。                     
    • 若設置了過期時間,瀏覽器就會把cookie保存到硬盤上,關閉後再次打開瀏覽器,這些cookie仍然有效直到超過設定的過期時間。
      • 登錄網站的賬號和密碼經常作爲cookie存儲到硬盤中。

 

cookie和session的比較:

  • cookie數據存放在客戶的瀏覽器上,session數據放在服務器上。
  • cookie 是一個實際存在的東西,session 是一個抽象概念,它有多種實現方式,使用cookie只是實現session的一個通用手段,之所以使用session技術,主要是爲了安全。
  • 大多數的應用都是用 Cookie 來實現Session跟蹤的:第一次創建Session的時候,服務端會在HTTP協議中告訴客戶端,需要在 Cookie 裏面記錄一個Session ID實現了Session與Cookie的綁定,以後每次請求把這個會話ID發送到服務器,我就知道你是誰了。
    • 當禁用了cookie,一般這種情況下,會使用一種叫做URL重寫的技術來進行會話跟蹤,即每次HTTP交互,URL後面都會被附加上一個諸如 sid=xxxxx 這樣的參數,服務端據此來識別用戶。
  • session的作用:跟蹤會話,記錄用戶狀態;  cookie的作用:跟蹤會話,保存用戶名密碼。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章