The net is full of Apache knowledge. Tips and tricks, discussion fora, experts of all kinds, and innumerable "how-tos" and tutorials on a range of subjects. Some of these are worth reading; others may be otherwise. Among all this wisdom are some myths and half-truths that are so well known as to be "common knowledge". They …
Not very accurate
Perhaps the author should read and understand RFC2396 and then rewrite the last section of his article. In that reading and understanding he might want to notice that the RFC is about URIs not about URLs, that section 6 says nothing at all about case sensitivity being required in any component of a URI (it does point out that it can't be required in certain components, but that doesn't mean it is required in the components not mentioned), and that section 2.4.2 leads straight to URIs in the http scheme that differ in case in teh file component of the URL and are required (by the escape rules) to identify the same resource (for example http://abd.com/a%2bc locates the same resource as http://abd.com/a%2Bc despite the case difference between b and B). His claim that the RFC unambiguously defines URLs to be case sensitive in the file part is pure balderdash. Maybe he could read appendix G, which says quite clearly that this RFC doesn't define any URL schems?
Interesting comment, but (I think) at a different level to this article. Not everything of value appears in a textbook and sometimes the point of a piece is to encourage people to delve more deeply.
Anyway, I asked Nick about your point and here is what he said:
This comment is sophistry.
A URL is defined in the RFC as a string of octets. Representing them as ASCII letters is merely a convenience for humans. But 'A' and 'a' are decimal 65 and 97 respectively. In the absence of an equivalence relation, they are unambiguously different.
Of course %2B == %2b, or decimal 43 / ASCII '+'. That's URLescaping, and is a separate issue to the one I was talking about (strictly speaking, unescaped character representations of URLs). I was talking about the representation that may relate to the filesystem, or be affected by mod_speling, mod_rewrite, etc.
I was also trying (evidently failing) to simplify the issue by not talking about components that are explicitly case insensitive (hostnames), or some intermediate situation (protocols - defined to be lowercase, but implementations should error-correct for uppercase).
(from Nick Kew)