一、Http.sys
HTTP.sys是僅能在Windows上運行的適用於ASP.NET Core的Web服務器。
HTTP.sys運行在內核態中,極大減少了系統調用次數,運行效率很高;自帶生存環境的安全,健壯性等特點;它也可以作為反向代理,因此它的功能更加強大,主要問題是只能運行在Windows下。
二、Kestrel
Kestrel是一個跨平台的適用於ASP.NET Core的Web服務器。Kestrel是Web服務器,默認包括在ASP.NET Core項目模板中。
Kestrel服務器運行在ASP.NET Core應用程序中,能高效的處理網絡請求,且能夠跨平台。
Kestrel應用在生產環境中需要運行在代理服務器后面,以獲取安全性、負載均衡等能力。
三、總結
如果你將你的應用部署在公共網絡上,建議使用IIS、Nginx等作為反向代理服務器。一個反向代理服務器接收來自網絡的HTTP請求並且在經過一些初步處理后將請求傳遞到Kestrel服務器。