本文主要介绍dns的解析流程

在浏览器的地址栏中,我们呢可以输入的信息大体分了域名、ip及任意随机内容三种。

  • 输入的随机内容。浏览器的搜索引擎负责处理。
  • 输入ip。浏览器的额网络进程负责处理,通过路由器存储转发找到目标ip服务器建立连接。
  • 输入域名。就得先通过dns域名解析查找到对应的ip,再执行第二种情况的操作。

DNS解析大体有本地解析和互联网域名解析两种,但其中还有诸多的情况需要具体分析。

  1. 本地解析。
    • 1.1 浏览器缓存查找。浏览器本身会维护一个dns域名ip的表数据,用来缓存之前解析的结果。所以第一步会尝试着去该表中查找是否有对应的ip。找到,结束。未找到,下一步
    • 1.2 系统缓存查找。找到了返回ip。没找到下一步
    • 1.3 本地host文件。找到了返回ip。没找到,进入互联网域名解析阶段。
  2. 互联网域名解析阶段。
    本地DNS服务器查找。这个本地跟你电脑无瓜。一般由离你最近的路由器或者运营商的服务器负责。找到返回,未找到,查找请求会到根服务器(中央服务器,全球九个吧貌似)。根服务器不负责查找,因为无法维护一个如此庞大的DNS。所以查找请求会被层层下发。域名如果是.com,查找请求就会被下发到.com服务器。而后由.com下发到对应域名的dns服务器,完成查找请求。

完整过程如下所示:
图片描述