【发布时间】:2018-03-02 18:39:34
【问题描述】:
只是好奇技术上什么是有效的域名
t. <- is that valid
localhost is valid
我记得我读到的东西很短,连两个字都没有
【问题讨论】:
标签: google-chrome firefox dns subdomain domain-name
只是好奇技术上什么是有效的域名
t. <- is that valid
localhost is valid
我记得我读到的东西很短,连两个字都没有
【问题讨论】:
标签: google-chrome firefox dns subdomain domain-name
其他回复已经给了你一些提示,但我认为他们缺乏区分两种情况,因为你的问题很模糊。
其实我看到了3点:
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) 中松散地(它们是例外) -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 协议中的问题,它们的工作效果不佳,只是因为如果输入没有“足够”的点,则使用各种终端客户端操作系统/应用程序自动附加域名后缀(或多个),即对于无点域名来说当然是正确的。
见RFC 7085 "Top-Level Domains That Are Already Dotless"
(2013 年 12 月)列出所有“无点”案例(当时),例如 .DK,但它们还有 15 个。如果您计算MX DNS 类型的回复,则更多。
【讨论】:
.dk - 两个字母是最小的。
DNS 中最短的有效名称是根区域的名称,它由一个所有位都为零的八位字节组成。它通常以. 字符或空字符串的形式为人类写出。
【讨论】:
从技术上讲,t 如果您的 DNS 解析器认为它有效,则它是有效的,但要使其普遍有效是困难的部分。
如果您可以让 ICANN 批准一个字母 gTLD,那么是的,一个字母是最短的。在那之前是两个。
【讨论】:
t. 是一个域名是可行的,尽管 ARIN 尚未发布。我见过的最短工作 URL 是 http://ai.,其中 . 是唯一必要的,因为地址中的某处没有点会使浏览器感到困惑。
https://ab./ 在语法上是有效的,但可能不起作用(.ab 不是有效的 ccTLD,即使是,它也可能没有 A/AAAA 记录;请注意,从技术上讲,您可以添加一个点在任何主机名的末尾,包括在 URL 中,但许多网络服务器/应用程序不能正确处理); https://.ab/ 在语法上无效并且永远不会工作。
x 作为 gTLD,但它确实说您不能将 - 作为一个 gTLD。