I get that it conforms to the strict ISO rules, but why?
There are different operating systems behind the various servers on the net, and for some of them a directory or file named page
is not the same as one named Page
. The result is that those really are two different locations and not even necessarily the same type of location(dir/page). The web server might be configured as case-insensitive, but you can't assume that. Therefore, the rules have to assume things do care about case and if they don't then whatever. Realistically, it's probably not a great idea to rely on case differences, but the situation does exist and so it has to be accounted for, sometimes with things like mod_speling.
How many websites are there out there that actually treat page and page/ as different url's you can visit?
They are different. It's just almost always hidden from you:
- When you go to
example.com/foo/
the web server is aware you're going to a directory, and so looks for a file in there matching whatever it's configured to recognize as a directory index. So eventually you end up at example.com/index.html
for example.
- If you go to
example.com/foo
the server does actually look for a file in the root directory named just foo
. If it doesn't find one, then it checks if there's a directory named /foo
and you can go up to #1.
What you seem to be reading as "normal" behavior in #2 is actually a fallback to handle a likely case.
How many do use extension-less filenames is irrelevant. Again: real problem; needs to be accounted for.
If they did I would tell them they are probably doing it wrong.
That is an opinion.
You can back it up with various practical arguments about case-insensitivity and how to handle extension-less URLs that I don't necessarily disagree with, but factually you would be wrong to say this.