I read in http://support.microsoft.com/kb/298408 that IIS6.0 automatically responds with a "courtesy redirect" (HTTP 301) on URLs that lack a dot.
When a browser requests a URL such as http://www.servername.de/SubDir, the browser is redirected to http://www.servername.de/SubDir/. A trailing slash is included at the end of the URL.
Internet Information Server (IIS) first treats SubDir as a file that it should give back to the browser. If this file cannot be found, IIS checks to see if there is a directory with this name. If a directory with this name exists, a courtesy redirect with a 302 "Object moved" response message is returned to the browser. This message also contains the information about the new location of the directory with the trailing slash. In turn, the browser starts a new GET request to the URL with the trailing slash.
How does this behavior intersect with a framework like ASP.NET MVC, which employs URLs that do not require or use dots, in general?
Specifically... does ASP.NET MVC "turn off" this feature of IIS6.0 when installed? If so, how?
I would guess that is not the case, but instead the request routing done in IIS sends the request to ASPNET before performing the redirect. If someone could explain, I'd be grateful.