写给 Web 工程师的 DNS 知识入门

10

你是不是对 DNS 记录的一些概念不太了解,比如 A 记录、CNAME、AlIAS 等。。

下面让我们一起来学习一下~

1 简介

为了访问 www.savokiss.com 这个域名,你的电脑需要知道服务器在网络中的位置。

这意味着:你的电脑必须知道 IP 地址才能跟服务器进行通信。

而域名系统 (Domain Name System) 正是为解决这个问题而生。

1-dns.jpg

2 记录字段

当你注册一个域名后,就可以设置多种 DNS 记录。每种记录都有一个 Type,一个 Host 和一个 Value

  • Type 是提前定义好的
  • Host 可以填根域名 (@) 或者子域名(www)
  • Value 就是一个 IP 地址或者域名

2-record.png

3 A 记录

A 记录将一个子域名映射到一个 IPv4 地址。

它常被用于根域名映射,这样浏览器就知道 savokiss.com 这个域名到底指向哪个 IP 地址。

同理,AAAA 记录则是用于 IPv6 的。

3-record-A.png

4 CNAME 记录

CNAME 则是映射一个子域名到另外一个域名。

它也可以指向相同站点的另外一个域名(如将 www 指向根域名)

或者另外一个网站,如 heroku (一个国外的云应用平台)

4-CNAME.png

5 CNAME 的问题

CNAME 是有一些缺点的。

一旦你为一个子域名定义了 CNAME 指向,就不能为这个子域名再定义其他类型的指向了。

正由于此,你不能把 CNAME 定义在 根域名上。

5-CNAME-issues.png

6 ALIAS 记录

为了解决上面的问题,可以使用 ALIAS

ALIAS 就像是 CNAME ,但却不是一个标准的 DNS 类型。

你可以使用 ALIAS 将根域名 savokiss.com 指向你的 app 服务器(如 savokiss.herokudns.com )同时也可以对这个域名使用其他记录解析。

6-ALIAS.png

7 TXT 记录

TXT 可以让其他主机读取额外的信息,就像留下了一条秘密消息那样。

TXT 一般用来证明某个域名的所有权,因为只有域名的所有者才可以修改 DNS 记录。

7-TXT.png

8 MX 记录

MX 记录(即 Mail eXchange),是用来配置邮箱服务的。

MX 记录是唯一的,你可以设置多个服务器,并且为每个服务器配置优先级。

8-MX.png

9 TTL

还有许多其他的记录类型,但是上面的几种是最常用的。

对于每种记录类型,你都可以指定一个 TTL(即 Time To Live 存活时间)

这个时间告诉 DNS 服务器需要缓存这些记录值多久。

9-TTL.png

10 DNS 缓存

TTL 基本上代表了从你修改一条记录开始到终端用户的生效时间(让子弹飞一会~)。

DNS 服务器,ISP 供应商和你的电脑都会缓存 DNS 记录,在 TTL 时间刷新前,缓存的都是上一次设置的记录值。

10-cache.jpg

速查表

最后送上一张 DNS 速查表和 dnspod 上的记录类型说明,希望本文对你理解 DNS 有帮助~

dns-cheatsheet.jpg

dnspod.png

参考文章

原文链接
DNS Record Crash Course for Web Developers

本文首发于:码力全开(codingonfire)

每周更新一篇原创或翻译文章~

codingonfire.jpg


如果觉得我的文章对你有用,请随意赞赏

你可能感兴趣的

15670880671 · 11月8日

看了还是有点懵,不过感觉写的挺好的

回复

0

可以自己买个域名感受一下,印象就比较深了~

savokiss 作者 · 11月11日
李佳明先生 · 11月15日

作者是不是忘了一个@

回复

载入中...