您好,登錄后才能下訂單哦!
本篇內容主要講解“ASP.NET構架與安全機制知識點有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“ASP.NET構架與安全機制知識點有哪些”吧!
Http請求處理流程概述
思考“為什么在地址欄輸入www.tracefact.net就可以看到張子陽的個人空間?”,類似于思考“為什么蘋果是往地上掉不是往天上飄?”。對于普通訪問者來說,這就像每天太陽東邊升起西邊落下一樣是理所當然的;對于很多程序員來說,認為這個與己無關,不過是系統管理員或者網管員的責任。畢竟,IIS是 Windows 的一個組件,又不是 ASP.NET 的一個組成部分。而實際上,從你輕拍回車到頁面呈現在你眼前的十分之一秒內,IIS和.Net Framework已經做了大量的幕后工作。
你可能覺得了解這些幕后工作是如何運作的無關緊要,作為程序員的你只要保證開發出的程序可以高效地運行就可以了。然而,在開發過程中,你卻發現常常需要使用諸如 HttpContext 這樣的類。這個時候,你可曾思考過這些類的構成和類的實體是如何創建的?你可能簡單地回答:HttpContext代表當前請求的一個上下文環境。可你又知道IIS 、Framework、ASP.NET 是如何協同工作處理每個Http請求、如何區分不同的請求、IIS、Framework、ASP.NET三者之間的數據如何流動么?
回答上面這些問題,首先需要了解IIS是如何處理頁面請求的,這也是理解 Form驗證模式和Windows 驗證模式 的基礎。
Http請求剛剛到達服務器的時候
當服務器接收到一個 Http請求的時候,IIS 首先需要決定如何去處理這個請求(NOTE:服務器處理一個.htm頁面和一個.aspx頁面肯定是不一樣的么)。那IIS依據什么去處理呢?―― 根據文件的后綴名。
服務器獲取所請求的頁面(NOTE:也可以是文件,比如 jimmy.jpg)的后綴名以后,接下來會在服務器端尋找可以處理這類后綴名的應用程序,如果IIS找不到可以處理此類文件的應用程序,并且這個文件也沒有受到服務器端的保護(NOTE:一個受保護的例子就是 App_Code中的文件,一個不受保護的例子就是你的js腳本),那么IIS將直接把這個文件返還給客戶端。
能夠處理各種后綴名的應用程序,通常被稱為 ISAPI 應用程序(NOTE:Internet Server Application Programe Interface,互聯網服務器應用程序接口)。雖然這 ISAPI 聽上去還挺氣派,也算是“應用程序”呢,但仔細看看它的全稱就明白了:它實際上只是一個接口,起到一個代理的作用,它的主要工作是映射所請求的頁面(文件) 和與此后綴名相對應的實際的處理程序。
1. HttpRuntime將Http請求轉交給 HttpApplication,HttpApplication代表著程序員創建的Web應用程序。HttpApplication創建針對此Http 請求的 HttpContext對象,這些對象包含了關于此請求的諸多其他對象,主要是HttpRequest、HttpResponse、 HttpSessionState等。這些對象在程序中可以通過Page類或者Context類進行訪問。
2. 接下來Http請求通過一些Module,這些Module可以做一些執行某個實際工作前的事情。
3. 在這一步,執行實際的一些操作,通常也就是.aspx頁面所完成的業務邏輯。
4. Http請求再一次回到Module,此時Module可以做一些某個工作已經完成了之后的事情。
NOTE:注意我用紅色標識的字,然后回想一下:ASP.NET 中是不是有眾多的 Inserting 、Inserted 之類成對的事件?其實,這里講述的就是為什么ASP.NET可以將一個Insert操作分成前后兩部分,然后再分別進行事件攔截的幕后原理。
到此,相信大家對“ASP.NET構架與安全機制知識點有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。