顶级域名中的数字?

Jac*_*ife 12 php dns validation

顶级域名最后可以包含一个数字吗?Idk没有任何关于DNS规则等,但当我尝试使用PHP的filter_var()函数与FILTER_VALIDATE_EMAIL,test@null.com1它返回true.

Ode*_*ded 11

从概念上讲,没有任何东西可以禁止TLD和未来的数字,谁知道,也许会有数字TLD.

目前没有TLD确实存在数字 - 该功能可能不会针对已知TLD列表进行测试(因为它可能会发生变化),但是在词汇上.

  • 实际上有,`xn - wgbh1c`是目前正在使用的TLD ..还有其他几个:http://www.swcs.com.au/tld.htm (2认同)
  • “将来,谁知道呢,也许会有数字TLD。” 根据当前规则,根据RFC3696第2节(2004年2月),不可能使用全数字TLD。这也是ICANN强制执行的规则。它允许任何系统清楚地区分主机名和IP地址,因为否则“ 192.0.1.42”也可能是TLD“ 42”下域名“ 1”的子名称(并且过去曾有关于TLD的实验)。 42,但在ICANN办公场所外完成。如果域名永远不是全部数字,则可以正常工作) (2认同)

ins*_*ner 11

实际上目前有很多TLD使用包含数字的TLD:

XN--1QQW23A
XN--3BST00M
XN--3DS443G
XN--3E0B707E
XN--45BRJ9C
XN--4GBRIM
XN--55QW42G
XN--55QX5D
XN--6FRZ82G
XN--6QQ986B3XL
XN--80ADXHKS
XN--80AO21A
XN--80ASEHDB
XN--80ASWG
XN--90A3AC
XN--C1AVG
XN--CG4BKI
XN--CLCHC0EA0B2G2A9GCD
XN--CZR694B
XN--CZRU2D
XN--D1ACJ3B
XN--FIQ228C5HS
XN--FIQ64B
XN--FIQS8S
XN--FIQZ9S
XN--FPCRJ9C3D
XN--FZC2C9E2C
XN--GECRJ9C
XN--H2BRJ9C
XN--I1B6B1A6A2E
XN--IO0A7I
XN--J1AMH
XN--J6W193G
XN--KPRW13D
XN--KPRY57D
XN--KPUT3I
XN--L1ACC
XN--LGBBAT1AD8J
XN--MGB9AWBF
XN--MGBA3A4F16A
XN--MGBAAM7A8H
XN--MGBAB2BD
XN--MGBAYH7GPA
XN--MGBBH1A71E
XN--MGBC0A9AZCG
XN--MGBERP4A5D4AR
XN--MGBX4CD0AB
XN--NGBC5AZD
XN--NQV7F
XN--NQV7FS00EMA
XN--O3CW4H
XN--OGBPF8FL
XN--P1AI
XN--PGBS0DH
XN--Q9JYB4C
XN--RHQV96G
XN--S9BRJ9C
XN--SES554G
XN--UNUP4Y
XN--VHQUV
XN--WGBH1C
XN--WGBL6A
XN--XHQ521B
XN--XKC2AL3HYE2A
XN--XKC2DL3A5EE0H
XN--YFRO4I67O
XN--YGBI2AMMX
XN--ZFR164B
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看data.iana.org/TLD/tlds-alpha-by-domain.txt的最新列表或此处包含描述的列表swcs.com.au/tld.htm


Pat*_*zek 5

顶级域的末尾可以包含数字吗?

从技术上讲是可以的,除非它是纯数字形式的,否则在当前规则下且出于易于理解的目的(不能与IP地址混淆),它不能是TLD。并且,由于ICANN强制执行的原因,它的末尾不能包含数字,除非它是IDN TLD。

让我们回到一些RFC来对事物进行更清晰的定义:

RFC 952:DOD互联网主机表规范(1985年10月)

这是当时互联网“主机名”的定义:

“名称”(网络,主机,网关或域名)是
从字母(AZ),数字(0-9),减号
(-)和句点(。)组成的最多24个字符的文本字符串。请注意,仅当句号
用于分隔“域名样式名称”的组成部分时才允许使用。(有关 背景信息
,请参阅RFC-921,“域名系统实施时间表”
)。名称中不允许使用空格或空格字符。大写和小写之间没有区别。第一个字符必须是字母字符。最后一个字符不能为减号或句号。

注意还有:

不允许使用单个字符名称或昵称。

因此,在这一点上:

  • com1 是有效的TLD
  • 3com 不是(“第一个字符必须是字母字符。”)
  • 42 不是(相同原因)
  • 1 不是(相同原因)
  • a 不是(“不允许使用单个字符名称或昵称。”)

RFC 1034:域名-概念和功能(1987年11月)

这是当今我们创建DNS的RFC之一。出于兼容性原因,它将主机名定义为标签序列,其中标签的定义如下:

它们必须以字母开头,以字母或数字结尾,并且仅以字母,数字和连字符作为内部字符。在长度上也有一些限制。标签不得超过63个字符。

TLD是其中的一个标签。根据上述规则,com1是有效标签,因此是TLD,3com否则将是无效标签。这直接将我们带入以下修订。

RFC 1123:Internet主机的要求-应用程序和支持(1989年10月)

这通过更改一个规则来修改以前的RFC:

合法Internet主机名的语法在RFC-952 [DNS:4]中指定。因此,更改了主机名语法的一个方面:放宽了对第一个字符的限制,以允许使用字母或数字。主机软件必须支持这种更宽松的语法。

因此,在这一点上:

  • com1 是有效的TLD
  • 3com 也有效
  • 42 已验证
  • 1 已验证
  • a 已验证

对于“数字” TLD,第一个文档中的以下规则适用:

每当用户输入Internet主机的身份时,都应该可以输入(1)主机域名或(2)点分十进制(“#。#。#。#”)形式的IP地址。主机应在域名系统中查找字符串之前,应语法检查该字符串是否为点分十进制数字。

如果可以在不使用此类分隔符的情况下输入点分十进制数字,则必须进行完整的语法检查,因为主机域名的一部分现在允许以数字开头,并且在法律上可以完全是数字(请参阅6.1节)。 2.4)。但是,有效的主机名绝不能使用点分十进制格式#。#。#。#,因为至少最高级别的组件标签将是字母形式的。

RFC 1738:统一资源定位符(URL)(1994年12月)

这也谈到了TLD,但是

网络主机的完全限定域名,或其IP地址,以四个十进制数字组的集合形式,用“。”分隔。完全合格的域名采用RFC 1034 [13]第3.5节和RFC 1123 [5]第2.1节中所述的形式:一系列以“。”分隔的域名标签,每个域名标签以字母数字字符开头和结尾,并且可能还包含“-”字符。不过,最右边的域名标签永远不会以数字开头,从语法上将所有域名与IP地址区分开。

RFC 3696:名称检查和转换的应用技术(2004年2月)

这是引入IDN(国际化域名)所必需的,它的意思是:

DNS名称中允许使用任何字符或位组合(如八位字节)。但是,大多数应用程序都需要一种首选形式。该首选形式是顶级域或TLD名称中唯一允许的形式。通常,它也是顶级域名(TLD)中注册的大多数第二级名称所允许的唯一格式,尽管用户通常看不到的某些名称遵循其他规则。它源自用于主机命名的原始ARPANET规则(即“主机名”规则),并可能在其允许的字符之后更好地描述为“ LDH规则”。LDH规则(已更新)规定组成域名的标签(用句点分隔的单词或字符串)必须仅由ASCII [ASCII]字母和数字字符以及连字符组成。不允许使用其他符号或标点符号,也不允许使用空格。如果使用连字符,则不允许在标签的开头或结尾出现连字符。还有一条附加规则,从本质上要求顶级域名不能为全数字。

实际上,一旦涉及到IDN,而它们又是IDN TLD(现在是ccTLD和gTLD),则选择的编码会生成一个ASCII字符串,其形式xn--something可以是数字,包括结尾,如其他答案所示。

但是,目前尚不清楚最后一句话中的“附加规则”来自何处。

RFC 4697:观察到DNS解析行为不当(2006年10月)

没有定义任何东西,但是提供了一些有趣的事实:

根名称服务器收到大量A记录查询,其中QNAME看起来像IPv4地址。

一种可能的解决方案是将这些数字TLD从根区域委派给一组单独的服务器以吸收流量。

这清楚地表明确实确实有一些应用程序,也许是由于错误而引起的,但它至少表明它在技术上有效,它发送的查询名称的确像IPv4地址一样格式化,因此带有全数字“ TLD”。

实际上,有一个启动.42注册中心的经验,显然完全在ICANN生态系统之外。您可以在http://www.dotsauce.com/experimental-numeric-tld-42-domain/上查看其摘要,并在https://web.archive.org/web/20101222151118/查看其主要说明的存档。http://register.42registry.org:80/(法语)。

即使技术上可行,它也没有走得太远。

例如,它表明默认情况下,基于Microsoft的操作系统根本不考虑纯粹的数字TLD,但是他们为此提供了一个修补程序:https : //support.microsoft.com/zh-cn/help/947228/error-message-when -you-try-to-join-a-windows-vista-based-client-comput “当您尝试将基于Windows Vista的客户端计算机加入具有纯数字后缀的顶级域(TLD)时,Windows基于Vista的客户端计算机无法加入域。[..]此行为是设计使然。

Internet-draft-liman-tld-names-06草案:顶级域名规范(2011年11月)

最后,这给出了一些解释,说明在上述规范没有明确的结果时,为什么有时甚至认为纯数字TLD甚至带一位数字的TLD无效:

(下面的第2.1节指的是上面引用的RFC 1123中的内容)

此外,第2.1节的“讨论”部分说:

 'However, a valid host name can never have the dotted-decimal form
 #.#.#.#, since at least the highest-level component label will be
 alphabetic.'  [Section 2.1]
Run Code Online (Sandbox Code Playgroud)

一些实施者可能已经理解上述短语“将是字母”是协议限制。

但它基本上只是建议顺其自然,并继续相同的限制:

[RFC0952]和[RFC1123]均未明确说明这些限制的原因。可以认为人为因素是一个考虑因素。[RFC1123]似乎表明,原因之一是为了防止点分十进制IPv4地址和主机域名之间的混淆。在任何情况下,都可以合理地认为已在某些已部署软件中假定了限制,并且应谨慎进行规则更改。

因此,它提供了以下定义:

传统标签标签= 1 * 63(ALPHA)

该草案从未转换为RFC,因为并非所有人都同意它。您可以在https://www.ietf.org/mail-archive/web/dnsop/current/msg08866.html上找到一个有异议的线程。基本上还不清楚,过去是否存在限制,我们现在尝试放松一下,还是从没有限制开始,人们是否错误地实施了系统。

例如,您可以看到有关Chromium / Chrome错误报告的信息:https ://bugs.chromium.org/p/chromium/issues/detail ? id = 31405如果使用以数字或纯数字开头的TLD,浏览失败(如果它以带有字母的数字结尾)。这没有被视为错误,也没有得到修复,因为浏览器附带了一系列TLD,因此除了测试其语法之外,还可以知道哪些有效,哪些无效。

ICANN新TLD申请指南(2012年6月)

可从https://newgtlds.icann.org/en/applicants/agb/guidebook-full-04jun12-en.pdf获得, 它从第64页开始说以下内容:

ASCII标签(即,在电线上传输的标签)必须按照技术标准“域名:实施和规范(RFC 1035)”以及对“ DNS规范”(RFC 2181)的澄清及其任何更新中的规定有效。

ASCII标签必须是有效的主机名,如技术标准DOD Internet主机表规范(RFC 952),Internet主机要求-应用程序和支持(RFC 1123)以及名称检查和转换的应用技术(RFC)中所指定3696),应用程序中的国际化域名(IDNA)(RFC 5890-5894)及其任何更新。这包括以下内容:

ASCII标签必须完全由字母(字母字符az)组成,或者

该标签必须是有效的IDNA A标签(如下面第二部分所述受进一步限制)。

特别注意:ASCII标签必须完全由字母(字母字符az)组成

这立即禁止使用任何完整的数字以及实际上包括末尾的任何数字,但IDN TLD除外,其形式为xn--something

请注意,有人直接向ICANN询问了此问题,并获得了以下答复,如https://domaingang.com/domain-news/icann-applicant-handbook-this-is-why-we-cannot-have-numeric-gtlds /

请注意,第一轮申请中禁止使用数字TLD。申请人指南(http://newgtlds.icann.org/en/applicants/agb)中对数字通用顶级域名(gTLD)的禁止源自与此类域名正常运行能力有关的许多技术问题。域名通常用于可能使用其他类型标识符(例如IP地址)的地方。

TLD全是字母的事实通常是确定域名的软件的关键决定因素。如果允许使用诸如“ .123”之类的TLD,则您的域名可能为“ 74.125.244.123”,这很难与IP地址“ 74.125.244.123。”区分开。还有其他考虑因素:一些技术标准文档指出,顶级域名(TLD)将按字母顺序排列,并且也已作为软件中的假设进行了编码。

AGB对字母字符的限制旨在限制这些情况,这意味着此类TLD在软件中不太可能很好地工作,并限制了由相同问题引起的潜在安全问题。