什么是最小的有效域名?
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 类型的回复,甚至更多。
从技术上很好奇什么是有效域名
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 类型的回复,甚至更多。