去年的网络操作系统课上老师在讲RHE Linux的dns配置时就有顺带提到过这个问题,但印象不深,这几天刚好想起就认真找找相关资料,原来这确实又是一个不合原始规范的使用习惯。

虽然只是个概念上的小偏差,理论意义大于实践意义,完全没有必要在这一“点”上较真,将所有现有URI的域名后都去加个“.”那真叫转牛角尖了。但二者差异所产生的特性,若是能好好利用还是能带来不少方便滴。

  • 比如 Kainy.CN 和 Kainy.CN. 被机器认为是不同的域,那么利用这一点,在调试主题的时候就不用注销后查看效果,直接用带“.”的域名访问就可以看到未登录用户所看到的效果。。
  • 如果你想让WordPress的url表现得与他人不同也很简单,在后台的“常规选项”中将“WordPress 安装地址”和“Site address (URL)”都改为“域名+.”的形式就行啦。开启多站点功能的则必须到数据库中改了,反正也是改两个地方,如果只改一个的话会造成无法登陆哦!

不过作者在文章最后也说了,不推荐这样的做法,因为以点结尾的域名代表绝对路径,指不定哪天星际网建成(不知那时我们的站还是否存在地球上某个角落),绝对路径代表的站点就不一样啦,其间的差异就如kainy.com与kainy.com.cn,代表的是完全不同级的两个域名。。。总之就是为了方便日后扩展,还是保持现状咯。。。

————以下内容来自:http://blog.walkinraven.name/2010/08/blog-post_21.html ————

熟视无睹真的是一种很奇妙的状态,不幸的是,我昨天跳出了这种状态:

你知道吗?我们每天写的域名都不是标准的!?

通常我们都知道的域名,是用点分隔的字母、数字或连接符的组合,类似

  • Google.com
  • bbs.blogger.com
  • cn.zh-Hans.last.fm
  • ……

但是我如果问您:域名可以以“.”结尾吗?我想大部分人都会说,哪里会有以“.”结尾的域名嘛。

错!其实正确答案不但是“域名可以以‘.’结尾,而且所有完整域名都肯定是以点结尾的”!

根据 DOMAIN NAMES – CONCEPTS AND FACILITIES (RFC 1034) | 3.1. Name space specifications and terminology 的说法(原文我就不引用了,感兴趣的自己去看),域名这种格式代表一种树状结构,类似操作系统文件夹体系,从左到右以点分隔,最开始是底层文件夹名称,每一个点后面就是上一级文件夹的名称,直到最后的根文件夹:

  • <文件夹名1>.<文件夹名2>.<文件夹名3> ……

我们知道,一般 Windows 操作系统的文件夹路径是以“\”符号分隔的文件夹名称,其实域名不过就是把“\”替换成了“.”,然后把顺序颠倒一下而已(Windows 路径是以根开头的:“\文件夹1\文件夹2\文件夹3”),最开头那个“\”代表根文件夹。

那么,而同样依据上面的规范,完整的域名也是以“.”结尾的,它的逻辑是:根域名项被固定命名为空字符(NULL),所以最后一级域名子项必须以“.”结尾,其后跟空字符(NULL),这样谷歌的域名其实应该写做:

  • Google.com.

只不过大部分浏览器软件如今都会自动在内部加上这个点,从而为用户偷懒了。

哈哈,今天你有一个新发现。


唏嘘一世

应该不是浏览器默认的自动在内部加入了dot,我刚才试了一下,如果服务器中如果没有绑定以dot结尾的域名,是无法通过以dot结尾的域名访问到网站的。


补充一下(我怕有人看了我这篇文章就处处去添个点):

带点的域名和不带点的域名各有用处,不能认为可以相互简单替代!

  • 以点结尾的域名是绝对域名
  • 没有点的是相对域名

解释:

类比于 Windows 的文件系统,如果你在C盘根文件夹下的 <文件夹A> 中储存了 <文件1>,绝对路径为:

  • c:\文件夹A\文件1

然后你在别的文档中引用这个路径;随后如果你移动了 <文件1>,其路径发生了变化,那么对其的引用(绝对路径方式)也会失效。

如果用相对路径的方式:引用这个文档的时候写:

  1. 基准路径:< c:\ >
  2. 相对路径:<文件夹A\文件1>

那么如果你需要把文件夹A移动到d盘,只需要更改基准路径为 即可,免去了逐一更新链接的问题。

域名的问题与之类似:

默认基准路径为空(NULL),如果某一点建立星际网(例如在火星建立网络),需要把目前地球上的网络复制一份去火星,那么只需要在火星的域名解析服务器设置添加 <.Mars> 即可。

今后可能有 .com.Mars / .org.Moon / .com.Earth … 这样的域名;如果建立星际网的话。

所以目前,不需要使用绝对路径,因为目前互联网体系是统一的,全球统一根域名是“空(NULL)”,可以理解为地球。

最后重申一次:不要使用绝对路径(以点结尾的域名),除非你明白自己在做什么,而且确实需要用到绝对路径。