www.google.de.
那样以句号结尾(这显然是行不通的。)。他们是如何处理的?#1 楼
从这里开始这是一个鲜为人知的事实,但是完全限定(明确)的DNS域
名称的末尾有一个点。运行DNS服务器的人们通常会知道
(如果您遗漏了结尾的点,则您的DNS配置不太可能起作用),但公众通常却不知道。域名的末尾没有点号,则不完全合格,并且
可能含糊。这在1987年的DNS规范
RFC 1034中进行了记录:
由于完整的域名以根标签结尾,因此导致了
打印形式,以点结尾。我们使用此属性来区分以下内容:
代表完整域名的字符串
(通常称为“绝对”)。例如,“ poneria.ISI.EDU。”
代表不完整的域名的开始标签的字符串,应由本地软件使用以下知识来完成此域名:本地域(通常称为“相对”)。例如,在
ISI.EDU域中使用的“ poneria”。
此内容的来源仍在继续详细解释。
评论
公众不仅不知道这一点,而且我经常看到电子邮件验证程序明确禁止尾随点。
–凯文
2014年12月13日19:13在
以及@ Kevin,RFC2822和RFC5322都应禁止尾随期。他们将域部分定义为点原子,点原子是多个原子(一个原子是RFC中给定字母的一个或多个字符),以句点分隔。参见RFC5322§3.4.1和§3.2.3
–德罗伯特
2014年12月19日上午8:22
#2 楼
不带尾点的主机名可能是不明确的。尾部的点表示主机名是完全合格的,并且可能与本地搜索域无关。在大学的校园网络内,可以省略example.edu
后缀,以使其变得轻松和懒惰。因此,如果您想在校园里冲浪,只需运行.example.edu
就可以了。现在想象一下大学有一个人工智能学院(“ AI”)及其网站托管在
www.example.edu
上。如果您在校内,则可以跳过www
,因为您可以省略后缀www.ai.example.edu
。到目前为止,一切都很好。但是现在您想浏览“离岸信息服务”公司,该公司经营安圭拉的顶级域名
www.ai
。他们的网站位于http://www.ai/,但是如果您在校园里在Web浏览器中输入该URL,那么您将进入人工智能研究所的网站。因此,您需要告诉Web浏览器,您确实要转到具有顶级域名
.example.edu
的网站,而不要访问具有大学子域名.ai
的网站。这点很重要,因为http://www.ai./始终可以独立于本地DNS搜索域工作。与不同域级别之间的点类似,最后一个点代表DNS的根,即它指出该点之前的单词是顶级域名,相对于搜索域没有域名。
评论
并非由浏览器执行此操作,而是DNS解析器。我的计算机上的DNS解析器设置为使用域名作为导致此行为的“搜索域”。它是一个操作系统设置,而不是浏览器设置。
–斯蒂芬·奥斯特米尔(Stephen Ostermiller)♦
2014年12月12日18:15
对于示例大学的学生来说很不幸,添加了尾随。通常会混淆各种虚拟主机配置,并且它将停止使用任何绝对链接(很多站点也使用该链接)。
–蓬松
2014年12月12日在21:20
@fluffy:是的,当然,如果Web服务器使用虚拟主机配置,则这些简短的主机名也必须在vhost配置中列出。
–阿克塞尔·贝克特(Axel Beckert)
2014年12月12日在21:24
@kinokijuf:我认为这种行为是一个错误。浏览器尚未决定我是否要使用DNS解析器的searchdomain功能。
–阿克塞尔·贝克特(Axel Beckert)
2014年12月12日21:25
@XTaran是的,但是无论www.ai.example.edu网站是否正确配置了其虚拟主机,如果www.ai拥有指向http://www.ai/something的绝对链接,则DNS解析仍会出错。如果www.ai服务器的httpd无法理解www.ai。作为配置的主机(出于某种原因),您仍然无法以http://www.ai./浏览。
–蓬松
2014年12月12日在21:51
#3 楼
我认为答案是大多数Internet工具都只是丢弃.
或将其视为多余的路径信息。请注意,这是一个非常棘手的错觉。
youtu.be
不是youtube.be
。不确定,但这可能是滥用。评论
youtu.be是youtube的域名。它用于较短的链接,例如在共享或嵌入视频时。
– kapex
2014年12月12日18:33
@CareyB的注释:没关系,因为“ youtu.be”是youtube上最近不再使用的youtube视频URL缩短器;只是弹出视频的ID(例如,对于有关FQDN命名的视频[hmm,某人似乎不了解CC-BY-SA]),其中提到根域是一个空字符串,因此在末尾留点,网址为youtube.com/watch?v=qHAb3Foa1Nw,您可以使用youtu.be/qHAb3Foa1Nw
– shelleybutterfly
2014年12月12日18:41
-1;错误,并且youtu.be/youtube.be的区别与该问题完全无关。
–蓬松
2014年12月12日21:52
评论
尾随。 [点]实际上是正确的,但是系统通常在DNS级别为您做出假设。因此,任何.com网站实际上都是google.com。从理论上讲应该可以,但是,可能是浏览器无法预期到这一点,或者无法正确打包请求,或者如果这样做,则您使用的DNS无法正确理解。用户实际使用点是不寻常的,默认情况下,用户不需要该点。www.google.de。对我来说很好。
这是DNS魔术。 。是霸主顶级域名(TLD),那么您就有通用顶级域名(gTLD):)
从技术上讲,这不是URL,而是主机名。 URL末尾的另一个点(http://example.com/path/file。与http://example.com/path/file)可能会有所不同。例如,如果路径转换为文件,并且基础操作系统和文件系统将file.from区分出来。我想我不必提http://example.com/path/file?foo=bar。和http://example.com/path/file?foo=bar也非常不同。网址
也有可能未将Web服务器配置为接受以该主机名为目的地的连接。当使用基于名称的虚拟主机的Web服务器处理传入请求中的Host标头时,不能保证将其视为。不在那里。我刚刚验证了我在Amazon S3上运行的网站。