什么是Web窗體?Web窗體有什么用?Web窗體可以使用 Web 窗體頁來創建可編程的Web 頁,這些 Web 頁用作 Web 應用程序的用戶界面。Web 窗體頁在任何瀏覽器或客戶端設備中向用戶提供信息,并使用服務器端代碼來實現應用程序邏輯。Web 窗體頁輸出幾乎可以包含任何支持 HTTP 的語言(包括標準通用標記語言的子集HTML與XML、WML 和ECMAScript (JScript, JavaScript))。
一.Web窗體簡介
1. 頁面的生命周期。
2. WebForm后臺頁面類繼承于Page類,Page類實現了IHttpHandler接口。
3. 前臺頁面類繼承于后臺頁面類。
4. 先調用PageLoad方法,再調用Render方法生成html代碼。
二. 加密安全
互聯網沒有絕對的安全,登錄框內輸入用戶名和密碼,在請求報文里面都能看到,為避免這種情況發生,提高安全性能,可以用兩種方式來處理:
1. HTTPS協議(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。
2. 自己寫安全插件,例如,支付寶安全控件。
三. Request的一些成員
1. 防止圖片盜鏈:可通過Request.UrlReffer,可通過此屬性的值獲取圖片請求頁面的地址,判斷地址是否為本服務器的頁面,如果不是,則判斷為圖片盜鏈處理,對于處理圖片盜鏈,可以加水印或者替換成自己網站的宣傳廣告圖片。
2. Request.UserHostAddress獲取訪問者的IP地址,通過socket獲得。
四. Response的一些成員
1. Response.BufferOutPut,關閉緩沖區。
2. Response.Flush,一次性把緩沖區的內容釋放出來。
3. Response.Clear,清空緩沖區。
4. Response.ContentEncoding輸出流的編碼。
5. Response.ContentType,輸出流的內容類型,比如是,html(text/html)還是普通文本(text/plain),還是jpg圖片(image/JPEG)。
6. Response.OutputStream,輸出流,在輸出圖片、Excel文件等非文本內容的時候用到它。
7. Response.End,終止響應。End()之后的代碼不會被繼續執行,End方法里調用了Flush()方法。在終止一些非法請求的時候,比如盜鏈等可以用End()立即終止請求。
五. Server屬性
1. MapPath,取得文件的物理路徑。
2. Execute(服務器端包含)和Transfer,執行另一個頁面的腳本。
(1)Execute(服務器端包含)可以用來處理頁面分塊,填補重復出現的內容,比如頁腳。
(2)Transfer(服務器端跳轉)后的代碼都不再運行,內部也用到了Response.End。
3. HtmlEncode和HtmlDecode,將文本編碼成可以在瀏覽器中正確瀏覽的格式。
4. UrlEncode和UrlDecode,URL編碼和解碼。
六. 狀態保持方案
無狀態Http和有狀態Http
客戶端:
(1)ViewState,隱藏域(存于表單里)。
(2)Hidden Field,隱藏域。
(3)Cookies,瀏覽器緩存。
(4)ControlState,隱藏域。
(5)Querystring,url。
服務器端:
(1)Session,單用戶會話。
(2)Application Object,多用戶會話。
(3)Caching,多用戶會話。
(4)DB,數據庫。
七.Cookie
1. 兩種存儲方式:緩存Cookie(瀏覽器緩存,存在于內存)和硬盤Cookie(存在于硬盤),給Cookie加失效時間Cookie會存在于硬盤中,沒有加失效時間則會存在于瀏覽器緩存。
2. 當瀏覽器再次訪問這個站點的時候,瀏覽器會自動發送Cookie給服務器。
3. 同一個網站可以發送多個Cookie,當服務器向瀏覽器發送的響應報文中,包含多個Cookie的話,那么瀏覽器創建的Cookie文件中就用*分割多個Cookie內容。
4. 可以指定Cookie發送的路徑(當訪問網站的某個文件夾的時候才會發送)。
5. 瀏覽器不能發送Cookie的失效時間。
6. Cookie的兩個屬性:
(1)Cookie.Path(為指定文件夾生成Cookie)
(2)Cookie.Domain(域/域名)
7. Coolie的退出
再寫一個同名的Cookie,失效時間寫成已失效則可以進行覆蓋。
8. cookie.value,取出cookie的值。
綜上所述,是黑馬web培訓有關Web窗體知識小結,如何應用并運用Web窗體,需要我們在不斷的實踐中總結應用。有什么不懂的地方也可以隨時咨詢我們哦!