In this recipe, we will get an in-depth look at OWIN, Katana, and the middleware pipeline in ASP.NET Core.
Open Web Interface for .NET (OWIN) is a standard that defines an interface between web servers and .NET web applications. Implementing OWIN allows us to create an abstraction between web apps, hosts, and servers, and to decouple .NET web applications from IIS. For example, to change the host in WebAPI to be self-hosted in a console application or a Windows service, change ASP.NET MVC or WebAPI with NancyFx.
The host is the process in our OS that loads the server and creates the pipeline. The server listens for the request on specific ports, redirects it to the pipeline, and returns the response to this request generated by the application. The application threads the received request and generates the response.