1. 程式人生 > >4.1ASP.NET Core請求過程「深入淺出ASP.NET Core系列」

4.1ASP.NET Core請求過程「深入淺出ASP.NET Core系列」

希望給你3-5分鐘的碎片化學習,可能是坐地鐵、等公交,積少成多,水滴石穿,謝謝關注。

HTTP請求過程

這裡展示整體的HTTP請求的過程,這裡化繁為簡,保留了主幹流程:

從瀏覽器輸入域名開始,這裡忽略了建立TCP的3次握手,向伺服器發起HTTPRequest請求,伺服器接受到之後,會觸發伺服器對網站的動態解析,然後把生成的網頁資訊通過HTTPResponse返回給使用者,內部包含HTML的Body,Head等資訊,最後就是瀏覽器對這些HTML資訊進行內部引擎渲染的過程了。

ASP.NET Core請求過程

ASP.NET Core是整個HTTP請求的一個環節,這個環節都做了哪些工作呢?

如圖所示,整個請求流程更加細化,特別是ASP.NET Core Application進行了放大,內部包含很重要的兩個組建,一個是Kestrel,一個是管道,而管道不是一個,可以是多個,使用的委託方式,可以無限擴充套件。

ASP.NET Core Application

ASP.NET Core Applicaton進一步放大,可以瞭解到,Kestrel其實在這裡並沒有做真正的核心處理,只是做一層封裝為HttpContext,並往下傳。真正處理請求的是管道,管道其實就是RequestDelegate,處理完成後封裝成HttpContext進行回傳,當然,HttpContext內含HttpRequest和HttpResponse。以上只是一個初略的描述,但是作為開發來說,有個初步印象就可以了,再細化下去,已經超過碎片化時間,先打住,如果要繼續深究,請關注我後面的專題內容。

 我是張飛洪,入行10年有餘,人不堪其憂,吾不改其樂,謝謝您關注我的頭條號