一般而言,HTTP協議是非狀態服務,它不保存任何用戶請求信息。直至NetScape開始使用Cookies來保存用戶請求信息,Web應用程序有了極大的發展。現在ASP.NET程序員可以使用很多種方式來保存用戶請求信息。
下面主要介紹ASP.NET關於客戶端狀態管理的幾種方式。
ASP.NET,提供了Cookies, QueryStrings (URL), Hidden fields, View State and Control state (ASP.NET 2.0),來管理客戶端請求。
一、Cookie
Cookie是以文本存儲於計算機中,使用name-value匹配。一般用戶存儲標識用戶信息,如:用戶名,用戶使用配置等。雖然Cookie可以被加密存儲,但不推薦在Cookie中保存用戶密碼。第二,Cookie的大小是限定的,所以不適合存儲大型數據。
Example:
1、獲取用戶ID
if (Request.Cookies["UserId"] != null) lbMessage.text = "Dear" + Request.Cookies["UserId"].Value + ", Welcome to our website!"; else lbMessage.text = "Guest,welcome to our website!";
2、設置Cookie
Response.Cookies["UserId"].Value=username;
優點:
使用簡單
缺點:
1、客戶端可以禁用Cookie
2、Cookie在每次請求或發送時都會被加載,影響傳輸。
3、易被攻破,所有不適合存儲安全信息。