nullprogram.com/blog/2009/06/28/
All but one of the major browsers do special URL mangling as a
"feature", but I think of it as bad behavior. Specifically, Firefox
gets it right while IE, Opera, Safari, and Chrome all do it wrong. The
last three are likely replicating the broken behavior of IE. I would
rather not do this.
I ran into this specific issue work. An IT person had sent out a URL
to an important internal website, which contained links to other
resources. However, this person, despite being in IT, wasn't very
tech-savvy and wrote all of the links with backslashes instead of
slashes. When I followed with Firefox I got a 404 Not
Found
because Firefox asked for a filename with a backslash in
it — proper behavior.
As first I thought the page was out of date with dead links, but it
was obviously a brand new page. That's when I noticed that the links
had the wrong slashes. A quick check with IE showed the links as
working, which is why the IT person didn't notice his error. IE was
automatically, and silently, converting the backslashes to slashes.
According to RFC
1738, all URLs must encode their backslashes because of buggy
transport agents (and, years later, because of buggy browsers like
IE). So, if you want to use a backslash in a URL you are supposed to
encode it anyway, but if you don't most major browsers will
silently mangle the URL. I really, really don't like this. I know
what I am doing, Mr. Browser.
It's done to replicate IE behavior, and IE did it because it's a
common error for Windows users to use backslashes when they shouldn't
(Windows directory separators), so it is anticipating user error (and
assuming it knows best!). Let's not cripple our software to bring it
down the same level as the major shortcomings of Windows, the toy OS.
I wrote a little test suite for testing if your browser does this
annoying mangling. You can try it with your browser below,
URL Mangling Test
Other than the browsers listed above, the only other browser I know
that fails is Links (not
Lynx). Note that Opera passes the "automatic" test, but fails the
"manual" test, because it doesn't mangle the http-equiv
URLs used in the automatic tests.
So beware using the browsers I listed at the beginning. Not only may
they be sending you to the wrong URL, but they are crippling the web
for the sake of Microsoft's errors.