你是不是对 DNS 记录的一些概念不太了解,比如 A 记录、CNAME、AlIAS 等。。
下面让我们一起来学习一下~
为了访问 www.savokiss.com
这个域名,你的电脑需要知道服务器在网络中的位置。
这意味着:你的电脑必须知道 IP 地址才能跟服务器进行通信。
而域名系统 (Domain Name System) 正是为解决这个问题而生。
当你注册一个域名后,就可以设置多种 DNS 记录。每种记录都有一个 Type
,一个 Host
和一个 Value
Type
是提前定义好的Host
可以填根域名 (@) 或者子域名(www)Value
就是一个 IP 地址或者域名A
记录将一个子域名映射到一个 IPv4 地址。
它常被用于根域名映射,这样浏览器就知道 savokiss.com
这个域名到底指向哪个 IP 地址。
同理,AAAA
记录则是用于 IPv6 的。
CNAME
则是映射一个子域名到另外一个域名。
它也可以指向相同站点的另外一个域名(如将 www 指向根域名)
或者另外一个网站,如 heroku (一个国外的云应用平台)
CNAME
是有一些缺点的。
一旦你为一个子域名定义了 CNAME
指向,就不能为这个子域名再定义其他类型的指向了。
正由于此,你不能把 CNAME
定义在 根域名上。
为了解决上面的问题,可以使用 ALIAS
。
ALIAS
就像是 CNAME
,但却不是一个标准的 DNS 类型。
你可以使用 ALIAS
将根域名 savokiss.com
指向你的 app 服务器(如 savokiss.herokudns.com )同时也可以对这个域名使用其他记录解析。
TXT
可以让其他主机读取额外的信息,就像留下了一条秘密消息那样。
TXT
一般用来证明某个域名的所有权,因为只有域名的所有者才可以修改 DNS 记录。
MX
记录(即 Mail eXchange),是用来配置邮箱服务的。
MX
记录是唯一的,你可以设置多个服务器,并且为每个服务器配置优先级。
还有许多其他的记录类型,但是上面的几种是最常用的。
对于每种记录类型,你都可以指定一个 TTL
(即 Time To Live 存活时间)
这个时间告诉 DNS 服务器需要缓存这些记录值多久。
TTL 基本上代表了从你修改一条记录开始到终端用户的生效时间(让子弹飞一会~)。
DNS 服务器,ISP 供应商和你的电脑都会缓存 DNS 记录,在 TTL 时间刷新前,缓存的都是上一次设置的记录值。
最后送上一张 DNS 速查表和 dnspod 上的记录类型说明,希望本文对你理解 DNS 有帮助~
DNS Record Crash Course for Web Developers