Classic ASP.Net, the one that emerged from the beginning of .Net is now considered a legacy technology. It will still be supported, but should not receive significant updates. I will not even talk about her then. And it's not a language.
ASP.Net MVC is a newer technology and is now coming out a new version , which is part of a collection of technologies called ASP.Net Core . It is important not to confuse with ASP.Net 4.6 which is classic and has end of line decreed.
ASP.Net MVC depended a little on ASP.Net. In a way it depended on IIS. Actually not so much because there is ASP.Net for Mono running on Linux, so can use Apache . The performance is not great, but still very good. We're talking about using C # which is a static and compiled language, so that counts a lot.
Now there's .Net Core (it's coming out of the oven) running on several platforms and in ASP .Net Core has been redesigned to work well on all platforms. With this new distribution, Microsoft's .Net itself (not an alternative third-party implementation) supports fully and with full support, Linux and MacOS.
The main reason for creating .Net Core is to be able to run ASP.Net Core well on these platforms using the server technology you want.
This abstraction of the application server was obtained by the implementation of OWIN . Today ASP.Net can run without an external server.
Mono tends to be legacy on these platforms in most scenarios. Today if you want to use with Apache ( mod_mono ), it is still needed. There is nothing in .NET that works with it. This may change. There are ways to use the new ASP.Net as self-host plus Nginx .