我试图在Internet上搜索FQDN的定义.
Wikipedia说,一个FQDN
specifies its exact location in the tree hierarchy of the Domain Name System (DNS)
I would interpret this,that it’s unambiguously resolvable (in DNS).
WP的例子(我不想使用它作为参考)说明了hostname.example.com的使用.
我发现的RFC(RFC 1035是我发现的唯一没有协议特定的)没有提供有关FQDN符合条件的信息.
我认为只有像hostname.example.com这样的标识符才是有效的FQDN(包括所有主机名,域和TLD),但这似乎是错误的.
是否需要FQDN应始终在域旁边包含主机名,即使该域只包含一个主机?或者是FQDN应该通过DNS解析的唯一定义?例如.域.tk明确无法解析,这是一个FQDN吗?
解决方法
如果您不必附加任何其他标识符以明确解析主机,我会认为名称是完全限定的.如果不是这样,则该名称将被视为相对名称.
RFC1535讨论了一个重点:
An absolute “rooted” FQDN is of the format {name}{.} A non “rooted”
domain name is of the format {name}
在上面的示例中,您将.tk解析为tk.确保它是明确的.有趣的是,这确实有一个有效的A记录.
$dig tk. ; <<>> DiG 9.8.3-P1 <<>> tk. ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY,status: NOERROR,id: 812 ;; flags: qr rd ra; QUERY: 1,ANSWER: 1,AUTHORITY: 0,ADDITIONAL: 0 ;; QUESTION SECTION: ;tk. IN A ;; ANSWER SECTION: tk. 20 IN A 217.119.57.22
编辑:RFC1535有另一个有趣的引用:
Further,in any event where a “.” exists in a specified name it should be assumed to be a fully qualified domain name (FQDN) and SHOULD be tried as a rooted name first.