技术上只是好奇什么是有效域名
t. <- is that valid
localhost is valid
我记得读过一些很短的东西,连两个字都没有
最佳答案
其他回复已经给了你一些提示,但我认为他们缺乏区分两种情况,因为你的问题很模糊。
其实我看到了3点:
- 根据 DNS 语法规则,什么在技术上有效?
- 今天可以在 IANA 根上做什么?
- 如今终端客户端(例如浏览器)的工作原理是什么?
第一个点被 Calle Dybedahl 覆盖,技术上 .
是最小的标签(或显示为点的空标签)。但这本身并不是很有用。
为了完成,主机名的每个标签长度为 1 到 63 个字符。您只能在字母、数字和连字符之间进行选择。以前标签不能以数字开头,但这个限制早就解除了(否则 3com.com
将不可能)。但是,限制仍然存在不以连字符开头的标签。因此,您可以将 1 个字符的标签/名称/域名设置为任何字母(如“ASCII”字母中的“a”到“z”,不区分大小写)或数字。
因此,这在技术上是有效的,并且在您控制根区域的一些实验室实验中,您可以拥有它。
(以上所有内容首先由 RFC952 覆盖,然后由 RFC1123 修改以消除对第一位数字的限制;它们可能是阅读的简洁文档,更温和的介绍将在 Hostname entry in Wikipedia 上)。
请注意,主机名和 DNS 中的名称通常有细微的区别:主机名是 DNS 中的名称,但并非所有名称都是主机名,因为从技术上讲,名称可以包含任何字节内容,而主机名受规则限制上面(并且主要是人们在互联网上的日常生活中所看到的,其他名称用于其他基础设施目的)
现在,第二点,当前的 IANA 根及其内容。今天没有一个角色的名字,我怀疑会有一天。
它以 ccTLD 开头,长度为 2 个字母。有一个添加新 gTLD 的流程,但它们基本上至少 3 个字符长(比 IDN 稍微复杂一点,其中可能有带有 1 或 2 个代码点的标签,但根据 IDNA 规则,这将是一个 xn- -
标记,以便在 DNS 中看到超过 4 个字符)。
此外,今天并非所有两个字符组合都存在于 IANA 根目录中,因为它们是 ccTLD,因此必须代表“当前”国家/地区,因为它们的列表是从 ISO 国家名称列表 (ISO 3166) 中松散地(它们是异常(exception)) -1 Alpha2)
没有人可以预测会发生什么,但至少今天没有空间用于单字符 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 协议(protocol)中的问题,它们的工作效果不佳,只是因为如果输入没有“足够”的点,则使用各种终端客户端操作系统/应用程序自动附加域名后缀(或多个),即对于无点域名来说当然是正确的。
见 RFC 7085 "Top-Level Domains That Are Already Dotless"
(2013 年 12 月)列出了所有“无点”案例(当时),例如 .DK
,但它们还有 15 个。如果您计算对 MX
DNS 类型的回复,甚至更多。
关于google-chrome - 什么是最小的有效域名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49075381/