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