Http協議,底層的東西還是不是特別熟悉,感覺要經過沉澱之後才能理解這些東西吧 1.Asp.net生命周期 Asp.net生命周期: 從發起請求開始,到IIS進行處理的全部過程,然後再到獲取結果 當請求一個*.aspx文件的時候,這個請求會被inetinfo.exe進程截獲,它判斷文件的尾碼(asp ...
Http協議,底層的東西還是不是特別熟悉,感覺要經過沉澱之後才能理解這些東西吧
1.Asp.net生命周期
Asp.net生命周期:
從發起請求開始,到IIS進行處理的全部過程,然後再到獲取結果
當請求一個*.aspx文件的時候,這個請求會被inetinfo.exe進程截獲,它判斷文件的尾碼(aspx)之後,將這個請求轉交給ASPNET_ISAPI.dll,ASPNET_ISAPI.dll會通過http管道(Http PipeLine)將請求發送給ASPNET_WP.exe進程,在ASPNET_WP.exe進程中通過HttpRuntime來處理這個請求,處理完畢將結果返回客戶端。 inetinfo.exe進程:是www服務的進程,IIS服務和ASPNET_ISAPI.DLL都寄存在此進程中。 ASPNET_ISAPI.DLL:是處理.aspx文件的win32組件。其實IIS伺服器是只能識別.html文件的,當IIS伺服器發現被請求的文件是.aspx文件時,IIS伺服器將其交給aspnet_isapi.dll來處理。 aspnet_wp.exe進程:ASP.NET框架進程,提供.net運行的托管環境,.net的CLR(公共語言運行時)就是寄存在此進程中。
ASP.NET Framework處理一個Http Request的流程: HttpRequest-->inetinfo.exe-->ASPNET_ISAPI.dll-->ASPNET_WP.exe-->HttpRuntime-->HttpApplication Factory-->HttpApplication-->HttpModule-->HttpHandler Factory-->HttpHandler-->HttpHandler.ProcessRequest()
ASP.NET請求處理過程是基於管道模型的,這個管道模型是由多個HttpModule和HttpHandler組成,ASP.NET把http請求依次傳遞給管道中各個HttpModule,最終被HttpHandler處理,處理完成後,再次經過管道中的HTTP模塊,把結果返回給客戶端。我們可以在每個HttpModule中都可以干預請求的處理過程。
2.Htpp協議的生命周期
這個感覺要後續繼續加深理解之後再進行補充吧,目前就拿別人的思路來解答這個過程
1.輸入url,瀏覽器DNS解析功能變數名稱,獲取ip
2.三次握手,建立tcp鏈接
3.向服務端發送http請求
4.服務端處理請求並響應
5.瀏覽器渲染HTML
6在渲染的過程中繼續載入css,js,圖片,音頻,視頻文件
7 呈現給用戶