2016-06-09 39 views
-1

我完全清楚關於Cookie和會話的實際使用。但我仍然不清楚爲什麼cookie在Asp .net中創建時,它的值和限制較少,然後會話...爲什麼我們在會話中使用Asp.net中的Cookie?

是否有任何只有Cookie可以使用且不能使用其他狀態管理的情況?

+0

這種或那種方式對cookies的使用最少。如果沒有cookie,您將無法識別客戶端並映射會話。 – Dbl

+0

HTTP協議本質上是無狀態的,cookie旨在彌補這個問題。同時,沒有cookie(會話cookie),會話是不可能的。使用ASP.NET會話cookie(默認情況下命名爲「ASP.NET_SessionId」)由客戶端上的服務器設置,然後客戶端將該cookie發送回服務器,並使用每個請求來標識其會話。 –

+0

看到區別http://stackoverflow.com/questions/623815/what-is-the-difference-between-a-session-and-a-cookie – Abdul

回答

0

有三種不同的會話狀態:

  1. 客戶端會話狀態允許的會話信息在客戶端被持有(也稱爲曲奇)。這有助於減少在服務器端保存太多信息的開銷,並允許客戶端控制會話的生命週期。說如果你重新啓動服務器,cookies仍然在客戶端。缺點是cookie可以被好奇的用戶看到,並且客戶端必須將其包括在對服務器的每個請求中。
  2. 服務器會話狀態在服務器端存儲會話。這提供了從服務器代碼邏輯訪問會話的最快速度,並保護敏感的會話信息。但它會在服務器崩潰或關機時被刷新。
  3. 數據庫會話狀態在數據庫中保存會話。這提供了更持久的會話,還可以幫助您保護用戶敏感的會話信息。但它比2慢,實施成本更高。

希望這會有所幫助。

相關問題