ASP.NET MVC request lifecycle

All ASP.NET MVC application life cycle starts out like any other website application: with a request to a
URL.

Routing :- ASP.NET Routing framework is at the core of every ASP.NET MVC request.
In simple terms, ASP.NET routing is just a pattern-matching system. At startup,
the application registers one or more patterns with the framework’s route table to tell
the routing system what to do with any requests that match those patterns. When the
routing engine receives a request at runtime, it matches that request’s URL against the
URL patterns registered with it.

When the routing engine finds a matching pattern in its route table, it forwards the
request to the appropriate handler for that request.
Otherwise, when the request’s URL does not match any of the registered route patterns,
the routing engine indicates that it could not figure out how to handle the request by
returning a 404 HTTP status code.