2011-10-05 142 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算法,該算法將標籤轉換爲小寫並執行其他規範化」。所以請在投票前先做功課。 –