《ASP.NET Core In Action》讀書筆記系列三 ASP.NET Core如何處理請求的?


  在本節中,您將看到ASP.NET Core應用程序如何運行的,從請求URL開始到頁面呈現在瀏覽器中。 為此,您將看到 一個HTTP請求在Web服務器中是如何被處理的、ASP.NET Core如何擴展該過程以創建動態頁面。

 

HTTP請求在Web服務器中是如何被處理

  當用戶在瀏覽器中輸入URL並按下回車。 瀏覽器將使用HTTP協將用戶的請求發送到托管Web應用程序的服務器,一旦服務器收到請求,它將根據請求的類型生成相應HTTP響應。 響應可能是一個網頁、圖像、JavaScript文件或簡單確認。當瀏覽器接收到響應時,它會將內容在屏幕上呈現給用戶。如下圖所示:

 

 

 ASP.NET Core如何處理請求

  ASP.NET Core應用和瀏覽器之間的交互,和上面所講的過程一樣。它包含了處理請求的所有功能(驗證請求是否有效、登錄以及生成相應的HTML)。如下圖所示:反向代理服務器將請求傳遞給您的應用程序之前捕獲該請求。 在Windows中,反向代理服務器通常是IIS,在Linux或macOS上它可能是NGINX或者Apache(反向代理是負責接收請求的程序,並將請求轉發到合適的Web服務器。 反向代理被暴露到互聯網中,而底層的Web服務器只暴露給反向代理,  這樣做的好處主要是安全性和提高Web服務器性能)。

  請求從反向代理轉發到ASP.NET Core應用程序。每個ASP.NET Core應用程序都有一個內置的Web服務器,默認情況下是Kestrel負責接收原始請求並構建內部數據結構(一個HttpContext對象),可供應用程序的其余部分使用,它包含了應用創建響應所需的全部信息。 一旦應用程序處理完請求(通過中間件及應用邏輯),它將返回Web服務器響應。 ASP.NET Core Web服務器將響應轉換為原始HTTP響應,並將其發送回反向代理,反向代理再將響應轉發到用戶的瀏覽器。

 

 

 

  ASP.NET Core 的簡介,就介紹到這里,接下來我們進入深入的研究和學習。在這之前,請選為你的ASP.NET Core 應用選擇一個運行的平台,你可以選擇 .NET Core、Full .NET Framework. 如果你的應用沒有依賴Windows的特定功能(注冊表,目錄服務,微軟發布了兼容性包,這使得這些API在.NET Core中可用),那么請選擇.NET Core ,否則請選擇Full .NET Framework。接下來章節所涉及的示例,我們使用windows 10 + Visual Studio 2107 進行演示(不用擔心,這些代碼完全可以運行在linux, macOs等平台上)如圖所示:

  

 

謝謝你的閱讀,下節見!如果期待本系列,請點一下推薦!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM