是否可以有一个(单个)字符的***域名?

Posted

技术标签:

【中文标题】是否可以有一个(单个)字符的***域名?【英文标题】:Is it possible to have one (single) character top level domain name? 【发布时间】:2011-11-16 16:43:28 【问题描述】:

我正在编写一个正则表达式来验证电子邮件。唯一让我感到困惑的是:

***域名可以有单个字符吗?(例如:lockevn.c

背景:我知道***域名可以从 2 个字符到任何字符(.uk、.us 到 .canon、.museum)。我阅读了一些文件,但我不知道它是否允许 1 个字符。

【问题讨论】:

【参考方案1】:

这在技术上是可行的,但是,没有单个字符 tld 已被接受到根目录中(截至目前),因此答案是:

可以***域名可以有单个字符,但是,目前没有 strong> 根中的单字符 TLD。

您可以在此 URL 中查看当前位于根目录中的 TLD 列表:

http://data.iana.org/TLD/tlds-alpha-by-domain.txt

RFC-952 显示了“名称”是什么,这包括作为***域的有效内容:

A "name" (Net, Host, Gateway, or Domain name) is a text string up
to 24 characters drawn from the alphabet (A-Z), digits (0-9), minus
sign (-), and period (.).

此外,来自 RFC-952 的语法显示:

 <name>  ::= <let>[*[<let-or-digit-or-hyphen>]<let-or-digit>]

RFC-1123 第 2.1 节特别允许单字母域和子域,将 RFC-952 的初始语法从仅以字母开头更改为更加宽松,因此现在您可以拥有单字母***域号码:

2.1  Host Names and Numbers

   The syntax of a legal Internet host name was specified in RFC-952.
   One aspect of host name syntax is hereby changed: the
   restriction on the first character is relaxed to allow either a
   letter or a digit.  Host software MUST support this more liberal
   syntax.

编辑:根据@mr.spuratic 的评论,RFC-3696 第 2 节收紧了***域的规则,声明:

     There is an additional rule that essentially requires
     that top-level domain names not be all-numeric.

这意味着:

a. 是一个有效的***域 1. 不是有效的***域

对此的一个非常不科学的测试表明,如果我将“a”添加到指向我的本地计算机的 hosts 文件中,则转到地址栏中的 http://a 会显示我的 Apache 欢迎页面。

【讨论】:

当前的 TLD 授权由 ICANN 管理。他们在 2012 年 6 月的申请人指南中写道:“申请的 ASCII 通用***域名 (gTLD) 字符串必须由三个或更多视觉上不同的字符组成。” (第 66 页)。所有 2 个字母都已为 ccTLD 保留【参考方案2】:

我不确定互联网标准,但实际上,没有。

看,

http://www.norid.no/domenenavnbaser/domreg.html

和,

http://sqa.fyicenter.com/Online_Test_Tools/Domain_Name_Format_Validator.php

【讨论】:

谢谢,但您的观点似乎已经过时了。使用sqa.fyicenter.fyicenter,测试结果为“指定的域名格式无效”。 ==> 错了,因为您可以使用 canon、microsoft 作为***域名【参考方案3】:

您应该绝对允许 1 个字符的域,因为某些注册管理机构允许它们并非偶然(我也提到了英国、德国、波兰、爱尔兰等相当大的注册管理机构 - 对互联网社区如此重要的贡献者,而不是任何异国情调的小例外)。由于我还计划使用这样的域,它肯定也适用于我使用的所有电子邮件服务、字母和数字,我真的会给出允许这样做的提示,否则你的脚本可能需要稍后更正。

一些最大的互联网公司也使用此类域 - 最著名的例子之一是 Twitters t.co 用于缩短。据我所知,拥有此类域名的其他公司包括 Facebook、谷歌、贝宝、德国电信。但名单更长,而且一些更大的投资者也将它们作为资产持有。

顺便说一句,如果您搜索“1字母域名”,则有一个网站在线交易此类域名:)

【讨论】:

***域 (tld) 与域名不同。 t.co 的 tld 是“co”而不是“t”。

以上是关于是否可以有一个(单个)字符的***域名?的主要内容,如果未能解决你的问题,请参考以下文章

使用单个字符或仅一个字符串来提升拆分

是否可以在单个语句中拆分和分配字符串?

是否可以将 strcpy 与单个字符变量一起使用?

如何检查参数在shell中是不是有单个字符

按单个字符比较两个字符串 C++

lua可以对单个字符和数字之间进行转换吗