DNS 解析

DNS即为Domain Name System的缩写形式,就是所谓的域名系统,它是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。

如果想访问某个网站(比如www.example.com),你的计算机需要知道该服务器在互联网的何处。也就是说,它必须知道要与哪个IP地址对话。

计算机找到IP地址的方式就是域名系统(Domain Name System,即DNS)。

    

在注册域名时,你可以设置许多类型的DNS记录。

每个记录都包含一个Type(类型)、一个Host(主机)和一个Value(值)。

  • “Type”是一些预定义的值。

  • “Host”代表根(@)或子域名(www)。

  • “Value”是IP或网址,或其他值。

    

A记录负责将子域名映射成IPv4地址。

最常使用A记录的地方就是根(@),它可以告诉浏览器example.com的位置。AAAA记录的作用是一样的,只不过用于IPv6。

    

CNAME负责将子域名映射成另一个域名。

这可以是同一站点上的另一个子域名(例如将www转发到根),也可以是应用所在的其他域名(例如heroku)。

    

但CNAME有个问题!

一旦为子域(主机)定义CNAME记录后,就无法为该子域名定义其他记录。

为此,你无法在根级别使用CNAME(因为根上还需要定义其他类型的记录)。

    

为了解决这个问题,我们可以使用ALIAS(有时是ANAME)。

ALIAS的作用与CNAME相同,但它是非标准的DNS类型。

因此,你可以使用ALIAS将根域名(example.com)转发到应用的服务器(example.herokudns.com)。

    

如此一来,你就可以将将其他记录放在根上,例如:

TXT记录,可以为任何读取DNS记录的计算机提供额外的信息。

TXT记录常常用于证明你拥有该域名,因为只有域名的所有者才能设置DNS记录。

    

还有:

MX记录(电子邮件eXchange),可用于指定另一台处理电子邮件的服务器(例如Google)。

MX记录是唯一的,如果你需要设置多个服务器,那么就必须给每个服务器设置“优先级”。

    

还有许多其他的记录类型,但上述这些记录类型是你最经常设置的类型。

你还可以指定每条记录的存活时间(Time To Live,TTL),它可以告诉DNS服务器你的DNS值需要保存多久。

    

我们之所以设置存活时间,是因为新的域名记录需要一定的时间才能“传播”。

DNS服务器、你的ISP甚至你的计算机都会缓存DNS记录,提供“旧”值,直到存活时间到期。

    

希望在下一次设置DNS时,你能够扫清心中的疑惑!感谢您的阅读!

原文:https://dev.to/chrisachard/dns-record-crash-course-for-web-developers-35hn

猜你喜欢

转载自www.cnblogs.com/qiuyu666/p/11883619.html