HTTP域名访问的过程

1.现在我有一台计算机,通过 ISP 接入了互联网,那么 ISP 就会给我分配一
个 DNS 服务器,这个 DNS 服务器不是权威服务器,而是相当于一个代理的 dns
解析服务器,他会帮你迭代权威服务器返回的应答,然后把最终查到 IP 返回给
你。
2.现在的我计算机要向这台 ISPDNS 发起请求查询 www.baidu.com 这个域名了,
(经网友提醒:这里其实准确来说不是 ISPDNS,而应该是用户自己电脑网络设置
里的 DNS,并不一定是 ISPDNS。比如也有可能你手工设置了 8.8.8.8)
3.ISPDNS 拿到请求后,先检查一下自己的缓存中有没有这个地址,有的话就直
接返回。这个时候拿到的 ip 地址,会被标记为非权威服务器的应答。
4.如果缓存中没有的话,ISPDNS 会从配置文件里面读取 13 个根域名服务器的地
址(这些地址是不变的,直接在 BIND 的配置文件中),
5.然后像其中一台发起请求。
6.根服务器拿到这个请求后,知道他是 com.这个顶级域名下的,所以就会返回
com 域中的 NS 记录,一般来说是 13 台主机名和 IP。
7.然后 ISPDNS 向其中一台再次发起请求,com 域的服务器发现你这请求是
baidu.com 这个域的,我一查发现了这个域的 NS,那我就返回给你,你再去查。
8.ISPDNS 不厌其烦的再次向 baidu.com 这个域的权威服务器发起请求,
baidu.com 收到之后,查了下有 www 的这台主机,就把这个 IP 返回给你了,
9.然后 ISPDNS 拿到了之后,将其返回给了客户端,并且把这个保存在高速缓存
中。

猜你喜欢

转载自blog.csdn.net/weixin_40612082/article/details/81163613