问题
Some people will reply that domain names are not case-sensitive. In the new Unicode world this is no longer true.
(Source)
I thought one of the steps in the Unicode > Punycode conversion was a "normalisation", which rendered domain names lower case.
回答1:
For old-fashioned ASCII-based domain names, Yes, domain names have been and continue to be case-insensitive.
For example, all of these represent the same domain:
- example.com
- Example.com
- EXAMPLE.COM
- EXampLE.com
In modern DNS, we now have Internationalized Domain Names (IDN) which allows Unicode characters. The problem is that defining upper- and lowercase can be tricky in some languages and character sets beyond ASCII (Unicode is a superset of US-ASCII).
The intent of domain names is to be case-insensitive, but there may be complications with particular characters in particular scripts of particular human languages. So there is no simple YES or NO answer to your question.
If using non-ASCII domain names, you should read:
- Internationalized domain name on Wikipedia
- Domain Name System (DNS) Case Insensitivity Clarification Official spec (IETF RFC 4343)
回答2:
WRONG: URLs are still case insensitive, even for IDN.
CORRECTION:
The question was about IDN: "Are IDN domain names case-sensitive?"
My initial answer is wrong, and does not clearly answer the question. It brings URLs into the mix.
The domain name part (IDN) of a URL is case-insensitive.
The other elements might be case-insensitive or not. It depends on many things, and in general is not predictable.
For instance the path part would normally depend on the OS or even the file system hosting the site (on MacOS you can format the drive as case insensitive or not) But these days you can have some of these paths "hooked" to answer RESTfull APIs. So it depends on how the "hook" is done.
Similar for other elements (user, password, parameters, parameter values)
来源:https://stackoverflow.com/questions/7666782/are-idn-domain-names-case-sensitive