2011-10-05 140 views
12

有些人会回复说域名不区分大小写。在新的Unicode世界中,这不再是事实。IDN域名是否区分大小写?

Source

我认为以Unicode>的Punycode转换步骤中的一个是“归一化”,它呈现的域名小写。

+0

见官方规格(IETF RFC 4343): [域名系统(DNS)案例不敏感性澄清](http://tools.ietf.org/html/rfc4343) –

回答

12

对于老式的ASCII-,是的,域名一直是并且仍然不区分大小写。

例如,所有这些表示相同的域:

  • example.com
  • Example.com
  • EXAMPLE.COM
  • EXampLE.com

在现代DNS,我们现在有Internationalized Domain Names(IDN)允许Unicode字符。问题在于,在一些语言和字符集之外定义大写和小写字母可能会非常棘手(Unicode是US-ASCII的超集)。

域名的意图是不区分大小写,但特定人类语言特定脚本中的特定字符可能会有复杂性。所以对于你的问题没有简单的YES或NO答案。

如果使用非ASCII域名,你应该阅读:

-1

即使是IDN,URL仍然不区分大小写。

+1

请参阅RFC 3987“国际化资源标识符(IRI)”。它们区分大小写,但基于特定的方案,它们可能不区分大小写。 IRI的域部分不区分大小写,但不包括路径和文件名等其他部分。 – davispuh

+0

问题是关于IDN,而不是IRI。域名只是IRI的一部分。检查RFC 3490. toASCII调用引用stringprep(RFC 3454)的nameprep(RFC 3491)。第3.2节“大小写折叠”指定了精确的折叠表(CaseFolding.txt)和Unicode版本(3.2)因此,不仅大小写不敏感,而且指定了确切的大小写转换表。 –

+0

因此,批准的答案并不准确,因为“在ASCII之外的语言和字符集中定义大写和小写字母可能会很棘手”。它是Unicode,并且指定了确切的版本。没有其他字符集。即使是由“答案”推荐的维基百科文章也会说“应用Nameprep算法,该算法将标签转换为小写并执行其他规范化”。所以请在投票前先做功课。 –

相关问题