DNS
什么是 DNS
DNS代表域名服务器。 当网站或Web应用程序托管在服务器上时,无论是基于Linux还是基于Windows,都会为其分配一个特定的十进制分隔数字系列,这在技术上称为IP地址。 DNS就像这些数字的英文翻译。
当我们想浏览一个网页时只需要在浏览器的地址栏输入对应的网址域名就能够访问。假如没有网址域名能不能实现网站访问呢?当然是可以的。我们可以使用网站的 IP 进行访问,那很多同学又有个疑问啦那我怎么知道网站的 IP 呢?其实很简单我们在自己的电脑上使用 ping
工具即可查看网址对应的 IP,使用方法 ping + 网站地址
下面我们以 www.baidu.com
为例。
~ ping www.baidu.com
PING www.baidu.com (14.215.177.38): 56 data bytes
64 bytes from 14.215.177.38: icmp_seq=0 ttl=56 time=9.965 ms
64 bytes from 14.215.177.38: icmp_seq=1 ttl=56 time=8.349 ms
64 bytes from 14.215.177.38: icmp_seq=2 ttl=56 time=8.098 ms
可以看到 www.baidu.com (14.215.177.38)
这里 14.215.177.38
就是 Baidu 的 IP,我们可以在浏览器中输入这个 IP 看看会发生什么吧。
假如每次你想访问百度的时候都去输入这个 IP 是不是一件挺令人崩溃的事,因此 DNS 就应运而生啦。DNS 就是为了解决这种尴尬,它可以实现域名和 IP 地址之间映射。
DNS 的全程是 domain name system,即域名系统。DNS是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的去访问互联网而不用去记住能够被机器直接读取的IP地址。通过域名,最终得到该域名对应的IP地址的过程则是域名解析的过程。
DNS 如何解析的
DNS 解析分为递归查询以及迭代查询,下面我们具体讲讲这两种查询方式
递归查询
查询实例过程如下(还是以baidu为例子)
某天,客户端想要访问baidu网站ÿ