什么是最小的有效域名?

What is smallest valid domain name?

从技术上很好奇什么是有效域名

t. <- is that valid

localhost is valid

我记得我读过一些很短的东西,连两个字都没有

从技术上讲,如果您的 DNS 解析器认为它有效,t 是有效的,但要使其普遍有效是困难的部分。

如果您能让 ICANN 批准单个字母的 gTLD,那么是的,一个字母是最短的。到那时是两个。

DNS 中可能的最短有效名称是根区域的名称,它由一个所有位都为零的八位字节组成。它通常以 . 字符或空字符串的形式供人类使用。

其他回复已经给了你一些提示,但我认为他们没有区分两种情况,因为你的问题含糊不清。

其实我看到了3点:

  • 根据 DNS 语法规则,什么是技术上有效的?
  • 今天在 IANA 根目录上可以做什么?
  • 今天终端客户端(例如浏览器)的工作原理是什么?

第一个点被 Calle Dybedahl 覆盖,技术上 . 是最小的标签(或显示为点的空标签)。但这本身并不是很有用。

要完成,主机名的每个标签的长度为 1 到 63 个字符。您只能在字母、数字和连字符之间进行选择。以前标签不能以数字开头,但这个限制早就取消了(否则 3com.com 将无法实现)。但是,标签不以连字符开头的限制仍然存在。因此,您可以使用 1 个字符的 label/name/domain 名称作为任何字母(如“ASCII”字母中完全 'a' 到 'z',不区分大小写)或数字。 因此,这在技术上是有效的,并且在您控制根区域的某些实验室实验中,您可以拥有它。 (以上所有内容都包含在 RFC952 first and then amended by RFC1123 to remove restriction on first digit; they may be terse documents to read, a gentler introduction would be on Hostname entry in Wikipedia 中)。 请注意,一般来说,主机名和 DNS 中的名称之间存在细微差别:主机名是 DNS 中的名称,但并非所有名称都是主机名,因为从技术上讲,名称可以包含任何字节内容,而主机名则受规则限制以上(主要是人们在日常生活中在 Internet 上看到的内容,其他名称用于其他基础设施目的)

现在,第二点,当前的 IANA 根及其今天的内容。今天没有一个角色的名字,我怀疑会有那么一天。 它以 ccTLD 开头,长度为 2 个字母。有一个添加新 gTLD 的过程,但它们基本上至少有 3 个字符长(比 IDN 复杂一点,IDN 可能有带有 1 或 2 个代码点的标签,但根据 IDNA 规则,这将是 xn--标签长度超过 4 个字符,如 DNS 中所见)。 此外,并非所有两个字符组合都存在于今天的 IANA 根目录中,因为它们是 ccTLD,因此必须代表“当前”国家/地区,因为他们的列表是从 ISO 国家/地区名称列表(ISO 3166)中松散地(它们是例外) -1 阿尔法2)

没有人能预测会发生什么,但至少现在 space 没有针对单字符 TLD 的申请。

tadman 回复稍微涵盖了这一点和相关的第三点,即今天有效的方法。 事实上,作为一个或两个字符的 TLD,您可能会遇到同样的问题,通常被描述为“无点域”。例如 https://dk/ 解析是因为 .DK TLD 将 A/AAAA 记录关联到标签 .dk。 这在 ccTLD 中是可能的,但对于 gTLD 则不然,因为 ICANN 基于不同的原因强烈反对,其中之一是它们运作不佳,请参阅此报告了解详情:https://www.icann.org/en/system/files/files/sac-053-en.pdf 请注意,它们并不是因为 DNS 协议的问题而工作不佳,只是因为各种终端客户端 OS/applications 用于在输入没有“足够”的点时自动附加域名后缀(或多个),这对于无点域名来说当然是正确的。

RFC 7085 "Top-Level Domains That Are Already Dotless" (2013 年 12 月)列出了所有“无点”案例(当时),例如 .DK,但它们还有 15 个。如果您计算 MX DNS 类型的回复,甚至更多。