If its unix/linux its probably case sensitive. Windows generally is not. I believe this is all configurable per application or virtual directory or at least manageable via mod_rewrite in Apache. If youre making a site its important to keep the case the same.
The answer to the “when” part of this is that it has always been this way for as long as the http protocol has been around. The part that specifies the machine (the mysite.net part) has never been case sensitive. The part that specifies the directory and file (the /Joomla) has always been machine dependent. Since most early internet machines were unix based, that part has usually been case sensitive. VMS machines weren’t case sensitive, and Windows machines aren’t case sensitive.
The first bit, [noparse]www.yoursite.com[/noparse] is resolved (translated to a numeric IP address) by the DNS (domain name server) computer. They run on an OS that doesn’t care about capitals in that field, and they don’t care what comes after the main suffix (what’s that called?).
When your browser’s call makes it to the hosting company’s computers, they look at everything after the slash (and before, I think). Their OS may or may not be case sensitive.
If I wasn’t helpful, would someone fight my ignorance?
Just a clarification, the DNS protocol defines these names to be case-insensitive. The underlying implementation’s OS doesn’t matter here. Whatever OS is used to implement a DNS resolver must comply with the protocol.
It’s called the path. I thought the URI spec defined the path as case-sensitive, but I cannot find a reference. The most I found is this which isn’t good enough for a GQ.
However, as others have said regardless of the protocol, some web-servers will treat the path as case-insensitive.
Domain names are not case-sensitive, so the issue doesn’t apply. The rules for case-normalization of Unicode strings are a tad hairy, but domain names in any script should normalize to lower-case, if there is such a thing, for the script in question.
I believe these are not official schemes sanctioned by ICANN (unless I am hopelessly behind the times) but rather clever mapping schemes that require browser plug-ins or something to work. They use Unicode characters and then map that using an algorithm that ends up mapping to a case-insensitive latin alphabet. So the source domain name can be case-sensitive as provided by Unicode, though I can’t tell you in practice what standard they might use.
All current browsers support Unicode domain names, so no plugins are needed. You are right that they are implemented as a hack on top of DNS, which is not actually restricted to the ASCII character set, but several application-level protocols like SMTP do restrict the valid range of characters for hostnames. (Specifically, the actual DNS record contains the punycode transliteration of the string.)
So they do break some older programs that do DNS lookups without checking to see if the domain contains Unicode characters, but the punycode version can be used instead in those instances.
To be a little more accurate: the path following the domain in an URL is technically always case sensitive; a URL with an uppercase A in it is different from one without the uppercase a and the recieving webserver should always recieve the URL as it’s been typed, including upper/lower case letters. The reason that on Windows servers the URLs typically act case insensitive is because basic web server applications translate the path directly to a file-system path, and (most?) file systems on windows are case insensitive while on UNIX they’re usually case sensitive (Mac OSX is the only UNIX I know that has a widely used native case insensitive/preserving file system).
If your web server application does not translate URLs to files (for instance, it looks up stuff in a database instead), it can do whatever it wants with the URL, no matter what the OS or file system.
Thanks for all the responses everyone. I need to learn how to configure Apache. I’ve been using simple scripts for installing CMS’s via services at my ISP. I’ve never run into this problem before. So it’s good to know. As I only installed Joomla to play around with it to see if I like it, which I do, quite a bit, I will just reinstall later all lower case.