网页设计学习笔记

HTML,CSS,JavaScript

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

最近注册了域名,被 DNS 中的各种记录迷惑了半天。基本弄清楚后整理在这里。

在互联网中,刚开始只用 IP 地址来区分各个服务器。IP 地址是一串数字,例如 192.168.34.56,当然不好记忆。后来就有了 DNS(Domain Name System)这个域名系统,可以给服务器指明一个域名,例如 www.example.com,通过域名同样可以访问该服务器。

既然增加了域名这个东西,就需要另外的服务器,以提供域名和 IP 地址的对应关系的查询服务。这种特殊的服务器称为 NS(Name Server),即名称服务器。现在的域名的解析是树状的,从最后面开始逐级解析。比如对于 www.example.com,完整的查询过程如下:

  1. 访问全球 13 个根名称服务器之一,例如 198.41.0.4,查询 com 域名的名称服务器地址,假设得到的地址为 204.74.112.1。
  2. 访问 com 域名的名称服务器地址 204.74.112.1,查询 example.com 域名的名称服务器地址,假设得到的地址为为 68.178.232.100。
  3. 访问 example.com 域名的名称服务器地址 68.178.232.100,查询 www.example.com 域名的 IP 地址,最终得到你要找的地址。

因此,当你注册域名 example.com 的时候,就需要设定该域名的名称服务器地址,即该域名的 NS 记录。这个记录一般要求有两条,以保证可用性。这个 NS 记录一般在域名注册商那里就会有默认设置的,登录域名管理后台就可以看到了。另外,NS 记录也可以是其它域名而不是 IP 地址,例如在 Godaddy 注册的域名,默认的 NS 记录就是 ns01.domaincontrol.com 和 ns02.domaincontrol.com 这种形式。

在域名管理后台中,每个 A 记录(Address 记录)指明了该域名及其子域名和 IP 地址的对应关系。你可以添加非常多个,例如:

  1. 指定 example.com 的 A 记录为 192.168.1.1
  2. 指定 www.example.com 的 A 记录为 192.168.2.2 
  3. 指定 web.example.com 的 A 记录为 192.168.3.3

CNAME 记录(Canonical Name 记录),称为别名记录,可以将子域名对应到别的域名,例如:

  1. 指定 home.example.com 的 CNAME 记录为 web.example.com
  2. 指定 page.example.com 的 CNAME 记录为 web.example.com

这样,当用户访问 home.example.com 和 page.example.com 时,实际获取的页面内容是在 web.example.com 域名所对应的服务器。CNAME 记录也可以对应到别的域名,只要对方的域名系统作了相应的设置,这个就是通常所说的域名绑定。在 CNAME 记录中只能设置子域名即 xxx.example.com 的别名,不能设置本层域名即 example.com 的别名,这个是和 A 记录另一个不同的地方。

参考资料:

[1] Domain Name System - Wikipedia
[2] Domain name - Wikipedia
[3] Root name server - Wikipedia
[4] List of DNS record types - Wikipedia
[5] CNAME record - Wikipedia
[6] intoDNS: checks DNS and mail servers health 

posted on 2012-06-08 13:28  zoho  阅读(479)  评论(0编辑  收藏  举报