cookie的使用與session的保持

2021-07-28 08:37:47 字數 957 閱讀 7051

首先科普概念,具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我們也看到,由於採用伺服器端保持狀態的方案在客戶端也需要儲存乙個標識,所以session機制是需要借助於cookie機制來達到儲存標識的目的,所謂session保持會話,對於客戶端來說,就是cookie的自動管理。

cookie的內容主要包括:名字,值,過期時間,路徑和域。路徑與域一起構成cookie的作用範圍。若不設定過期時間,則表示這個cookie的生命期為瀏覽器會話期間,關閉瀏覽器視窗,cookie就消失。這種生命期為瀏覽器會話期的cookie被稱為會話cookie。會話cookie一般不儲存在硬碟上而是儲存在記憶體裡,若設定了過期時間,瀏覽器就會把cookie儲存到硬碟上,關閉後再次開啟瀏覽器,這些cookie仍然有效直到超過設定的過期時間。儲存在硬碟上的cookie可以在不同的瀏覽器程序間共享,比如兩個ie視窗。而對於儲存在記憶體裡的cookie,不同的瀏覽器有不同的處理方式。

session機制。session機制是一種伺服器端的機制,伺服器使用一種類似於雜湊表的結構(也可能就是使用雜湊表)來儲存資訊。當程式需要為某個客戶端的請求建立乙個session時,伺服器首先檢查這個客戶端的請求裡是否已包含了乙個session標識(稱為sessionid,也就是請求頭是否有cookie),如果已包含則說明以前已經為此客戶端建立過session,伺服器就按照sessionid把這個session檢索出來使用(檢索不到,會新建乙個),如果客戶端請求不包含sessionid(也就是不攜帶cookie的請求頭),則為此客戶端建立乙個session並且生成乙個與此session相關聯的sessionid,sessionid的值應該是乙個既不會重複,又不容易被找到規律以仿造的字串,這個sessionid將被在本次響應中通過set-cookie響應頭返回給客戶端儲存。客戶端檢查到這個響應頭後,根據需要就會儲存這個sessionid,下次在請求互動過程中便可以自動的按照規則把這個標識傳送給伺服器。這樣就完成了session的保持。

javaweb中Cookie和Session實現

cookie是存在於瀏覽器的文字,用於儲存使用者的登入密碼等資料 session存在於服務端,用於跟蹤使用者登入狀態等 cookie cookies request.getcookies if cookies null cookies.length 0 else 在servelt中通過respons...

Servlet中Cookie和Session的學習

會話cookie 關閉瀏覽器,就失效 持久cookie 存放在客戶端上。在指定的期限內有效。是以檔案形式存放的 setmaxage 應用 自動登入 瀏覽記錄 購物車 http的請求是無狀態。客戶端與伺服器在通訊的時候,是無狀態的,其實就是客戶端在第二次來訪的時候,伺服器根本就不知道這個客戶端以前有沒...

http會話技術 cookie和session

會話 乙個會話中包含多次請求和響應。一次會話 瀏覽器第一次給伺服器資源傳送請求 會話建立,直到一方斷開為止。功能 在一次會話的範圍內的多次請求間,共享資料 方式 伺服器 servlet 建立cookie物件,繫結資料 new cookie string name,string value 伺服器傳送...