有些人会回复说域名不区分大小写。在新的Unicode世界中,这不再是事实。IDN域名是否区分大小写?
(Source)
我认为以Unicode>的Punycode转换步骤中的一个是“归一化”,它呈现的域名小写。
有些人会回复说域名不区分大小写。在新的Unicode世界中,这不再是事实。IDN域名是否区分大小写?
(Source)
我认为以Unicode>的Punycode转换步骤中的一个是“归一化”,它呈现的域名小写。
对于老式的ASCII-,是的,域名一直是并且仍然不区分大小写。
例如,所有这些表示相同的域:
在现代DNS,我们现在有Internationalized Domain Names(IDN)允许Unicode字符。问题在于,在一些语言和字符集之外定义大写和小写字母可能会非常棘手(Unicode是US-ASCII的超集)。
域名的意图是不区分大小写,但特定人类语言特定脚本中的特定字符可能会有复杂性。所以对于你的问题没有简单的YES或NO答案。
如果使用非ASCII域名,你应该阅读:
即使是IDN,URL仍然不区分大小写。
请参阅RFC 3987“国际化资源标识符(IRI)”。它们区分大小写,但基于特定的方案,它们可能不区分大小写。 IRI的域部分不区分大小写,但不包括路径和文件名等其他部分。 – davispuh
问题是关于IDN,而不是IRI。域名只是IRI的一部分。检查RFC 3490. toASCII调用引用stringprep(RFC 3454)的nameprep(RFC 3491)。第3.2节“大小写折叠”指定了精确的折叠表(CaseFolding.txt)和Unicode版本(3.2)因此,不仅大小写不敏感,而且指定了确切的大小写转换表。 –
因此,批准的答案并不准确,因为“在ASCII之外的语言和字符集中定义大写和小写字母可能会很棘手”。它是Unicode,并且指定了确切的版本。没有其他字符集。即使是由“答案”推荐的维基百科文章也会说“应用Nameprep算法,该算法将标签转换为小写并执行其他规范化”。所以请在投票前先做功课。 –
见官方规格(IETF RFC 4343): [域名系统(DNS)案例不敏感性澄清](http://tools.ietf.org/html/rfc4343) –