ASP.NET Core Web服务器
一、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服务器。