Unicode IDN域名是否区分大小写?

Unicode IDN域名是否区分大小写?,unicode,domain-name,idn,Unicode,Domain Name,Idn,有些人会回答说域名不区分大小写。在新的Unicode世界中,这不再是事实 () 我认为Unicode>Punycode转换的一个步骤是“规范化”,它使域名小写。错了:URL仍然不区分大小写,即使对于IDN也是如此 更正: 问题是关于IDN的:“IDN域名区分大小写吗?” 我最初的回答是错误的,没有清楚地回答这个问题。 它将URL引入到混合中 URL的域名部分(IDN)不区分大小写 其他元素可能不区分大小写。这取决于很多事情,一般来说是不可预测的 例如,路径部分通常取决于操作系统,甚至是承载站点

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

()


我认为Unicode>Punycode转换的一个步骤是“规范化”,它使域名小写。

错了:URL仍然不区分大小写,即使对于IDN也是如此


更正:

问题是关于IDN的:“IDN域名区分大小写吗?”

我最初的回答是错误的,没有清楚地回答这个问题。 它将URL引入到混合中

URL的域名部分(IDN)不区分大小写

其他元素可能不区分大小写。这取决于很多事情,一般来说是不可预测的

例如,路径部分通常取决于操作系统,甚至是承载站点的文件系统(在MacOS上,您可以将驱动器格式化为不区分大小写) 但是现在,您可以将其中一些路径“挂钩”以响应RESTfull API。 因此,这取决于“钩子”是如何完成的

与其他元素(用户、密码、参数、参数值)类似。

对于老式的,是的,域名一直不区分大小写

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

  • example.com
  • Example.com
  • EXAMPLE.COM
  • EXampLE.com
在现代,我们现在有(IDN),它允许Unicode字符。问题在于,在某些语言和字符集中,除了ASCII(Unicode是字符集的超集)之外,定义大写和小写可能很棘手

域名的目的是不区分大小写,但特定人类语言的特定脚本中的特定字符可能会出现复杂情况。所以对于你的问题没有简单的是或否的答案

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

  • 关于维基百科
  • 官方规范(IETF RFC 4343)

参见官方规范(IETF RFC 4343):参见RFC 3987“国际化资源标识符(IRIs)”。它们区分大小写,但基于特定的方案,它们可能不区分大小写。IRI的域部分不区分大小写,但不区分路径和文件名等其他部分。问题是关于IDN,而不是IRI。域名只是IRI的一部分。检查RFC 3490。toASCII调用nameprep(RFC3491),它引用stringprep(RFC3454)。第3.2节“大小写折叠”规定了精确的折叠表(CaseFolding.txt)和Unicode版本(3.2),因此不仅不区分大小写,而且还规定了精确的大小写转换表。因此,批准的答案是不准确的,因为“在ASCII以外的语言和字符集中定义大写和小写可能很棘手”。它是Unicode,并且指定了确切的版本。没有其他字符集。甚至“答案”推荐的维基百科文章也说“应用Nameprep算法,该算法将标签转换为小写并执行其他规范化”。所以,请在否决投票之前,做好准备。URL区分大小写。在实践中通常是这样的:Linux服务器(如Apache)提供的路径区分大小写(如文件系统),而Windows服务器(如IIS)不区分大小写(如Windows文件系统)。您的里程数可能有所不同。@user5994461。问题是关于域名,而不是整个URL。我知道,根据HTTP规范,路径是区分大小写的,即使某些服务器不一定这样对待它们。