本文最后更新于128 天前,其中的信息可能已经过时,如有错误请发送邮件到1986413837@qq.com
1.浏览器缓存查询
浏览器先检查自己有没有缓存过这个域名对应的IP地址
如果有就直接使用
2.操作系统缓存查询
如果浏览器没有 , 浏览器会调用操作系统的DNS解析器 检查系统缓存(和Hosts文件)
3.请求递归DNS服务器
如果本地都没有缓存, 请求会发送到递归DNS服务器(通常是路由器或网络服务商ISP自动分配的, 如8.8.8.8)
4.递归服务器查询根域名服务器
递归服务器也不知道答案 于是他从根域名服务器开始问
全球只有13组根服务器
根服务器不直接给出答案 但他会返回负责.com区域的顶级域(TLD)服务器的地址
5.递归服务器查询顶级域(TLD)服务器
递归服务器拿着TLD地址, 去问负责.com的服务器
TLD服务器管理所有以.com结尾的域名 它负责返回example.com这个域的权威DNS服务器的地址
6.递归服务器查询权威DNS服务器
递归服务器最后去问example.com的权威DNS服务器
这个服务器拥有该域名的最终解释权
他会返回www.example.com对应的准确IP地址
7.递归服务器缓存并返回结果
递归服务器拿到IP地址后, 会把他缓存起来(根据TTL值设定缓存时间)
然后将结果返回给你的操作系统
8.浏览器获取IP并建立连接
浏览器终于拿到IP地址, 然后就可以向这个IP发送HTTP请求 加载网页了
核心角色
- 递归DNS服务器:帮你跑腿的“办事员”
- 根/TLD服务器:指路的“路标”,告诉你下一步该问谁
- 权威DNS服务器:掌握最终答案的“官方机构”
图示

评论