Setting up HTTP.sys
There is another hosting option; a different web server implementation. HTTP.sys is a pretty mature library, deep within Windows, that can be used to host your ASP.NET Core application:
.UseHttpSys(options =>
{
    // ...
})
HTTP.sys is different to Kestrel. It cannot be used in IIS because it is not compatible with the ASP.NET Core module for IIS.
The main reason for using HTTP.sys instead of Kestrel is Windows Authentication, which cannot be used in Kestrel. You can also use HTTP.sys if you need to expose your application to the internet without IIS.
Note
IIS has been running on top of HTTP.sys for years. This means that UseHttpSys() and IIS use the same web server implementation. To learn more about HTTP.sys, please read the documentation, links to which can be found in the Further reading section.
Next, let's look at using IIS for hosting.