The URL indicates the location of the resource, but this resource does not have to be displayed on a physical file on the server. This is the server to decide how to handle the URL and how to generate the returned resource.
Most web servers started by serving all the resources from files. Thus, most websites where their pages served as files, and the URLs that they recognize, have the corresponding form. If the website still uses a file-based web server, you can configure it to serve a specific document by default if the file is not specified.
Recently, however, there has been a great movement toward decoupling URLs and actual files. This is usually achieved using default documents (where the web server is configured to serve a specific file if no URL is specified), URL routing (where the web server directs request processing based on internal rules that display the incoming URL for actual resources), URL rewriting (when the URL is rewritten to another URL before processing), or a combination of both.
In particular, MVC structures rely heavily on URL routing, because the URLs represented by a web application based on the MVC structure do not determine the location of the file on the server, but in fact the code execution path for the Internet application. For example, http://example.org/user/details/12345 will not indicate the 12345 file in the / user / details folder, but will indicate that the Details method in the User class should be called with parameter 12345 to generate a response.
source share