“localhost” 是否被视为完全合格?

“localhost” 是否被视为完全合格?

在没有域名的情况下,该名称是否被localhost视为完全合格?还是localhost始终被视为不合格?

$ hostname --fqdn
debian-q500

$ ping debian-q500
PING debian-q500 (127.0.1.1) 56(84) bytes of data.
64 bytes from debian-q500 (127.0.1.1): icmp_req=1 ttl=64 time=0.044 ms
64 bytes from debian-q500 (127.0.1.1): icmp_req=2 ttl=64 time=0.037 ms
...

$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.033 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.043 ms
...

我之所以问这个问题,是因为我正在看一个专门提到 FQDN 的标准文档。FQDN 与 RFC 中的 DNS 名称略有不同(我相信是 RFC 1035):

$ dnsdomainname 
$ 

在 DNS 系统下,我相信它localhost会被视为非 DNS 本地名称;但如果列为localhost.(请注意尾随的点),它可能满足 FQDN 要求。

事实上,在名为的机器上添加尾随点时我得到了不同的结果debian-q500

$ ping debian-q500.
ping: unknown host debian-q500.
$ ping localhost.
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.029 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.035 ms
...

答案1

localhost不完全合格;localhost.localdomain.是。

FQDN 的主要关键字是终止句号。 hostname.example.com不是完全合格的;hostname.example.com.是。 常见惯例(如果不是官方标准)规定 FQDN 应该是host.domain.而不是简单的host.,但同样,重要的是.末尾的 才是真正完全合格的。

相关内容