Cookie同Session的關係是什麼?

2021-08-30 19:16:12 字數 774 閱讀 4225

1. asp.net中session可以採用cookie 和cookieless兩種方法,cookieless方式是將sessionid放在url中在客戶端和服務端中來回傳遞,不需要用到cookie,在這裡不討論這個方式。

2. 在asp.net中客戶第一次請求乙個url,伺服器給這個客戶生成乙個sessionid,並以非永久性的 cookie傳送到客戶端。

3. 非永久性的 cookie只有在瀏覽器關閉後這些cookie才隨之消失,session的超時判斷是這樣的過程:

3.1 第一次客戶端訪問伺服器,會得到乙個sessionid,以非永久性的 cookie傳送到客戶端。

3.2 在這個瀏覽器關閉之前訪問這個url,瀏覽器都會把這個sessionid傳送到服務端,服務端根據sessionid來維持對應此客戶的服務端的各種狀態(就是session中儲存的各種值),在web應用程式中可以對這些session進行操作。

3.3 服務端維護此sessionid的過期時間,iis中可以設定session的超時時間。每次請求都將導致服務端將此sessioid的過期時間延長乙個設定的超時時間。

3.4 當服務端發現某個sessionid已經過時,即某個客戶已經在設定的超時時間內沒有再次訪問此站點,即將此sessionid,連同跟此sessionid相關的所有session變數刪除。

3.5 客戶端的瀏覽器未關閉前,並不知道服務端已經將這個sessionid刪除,客戶端依舊傳送此sessionid的cookie到服務端,只是此時的服務端已經不認識此sessionid了,會將此使用者當做新使用者,再次分配乙個新的sessionid。

cookie與session的關聯

前提 cookie沒有被禁用。當用瀏覽器登入到某 伺服器時,先找對應的cookie檔案,當首次訪問是當然沒有cookie檔案,所以在請求頭部中沒有cookie的內容,即在請求頭部中沒有類似cookie jsessionid 的內容,這時當請求到達伺服器後,伺服器看請求頭中沒有jsessionid值,...

session與cookie的區別

讓我們用幾個例子來描述一下cookie和session機制之間的區別與聯絡。筆者曾經常去的一家咖啡店有喝5杯咖啡免費贈一杯咖啡的優惠,然而一次性消費5杯咖啡的機會微乎其微,這時就需要某種方式來紀錄某位顧客的消費數量。想象一下其實也無外乎下面的幾種方案 1 該店的店員很厲害,能記住每位顧客的消費數量,...

session與cookie的區別

1 session儲存在伺服器,客戶端不知道其中的資訊 cookie儲存在客戶端,伺服器能夠知道其中的資訊。2 session中儲存的是物件,cookie中儲存的是字串。3 session不能區分路徑,同乙個使用者在訪問乙個 期間,所有的session在任何乙個地方都可以訪問到。而cookie中如果...