DNS解析流程

解析,流程图如下

 

 

如图所示,大致就是:浏览器输入地址,然后浏览器这个进程去调操作系统某个库里的gethostbyname函数(例如, GNU glibc标准库的gethostbyname函数),然后呢这个函数通过网卡给DNS服务器发UDP请求,接收结果,然后将结果给返回给浏览器。

这张图其实已经讲明白大致的流程,但是细节上可能有些差异。

例如

  • (1)我们在用chrome浏览器的时候,其实会先去浏览器的dns缓存里头查询,dns缓存中没有,再去调用gethostbyname函数
  • (2)gethostbyname函数在试图进行DNS解析之前首先检查域名是否在本地 Hosts 里,如果没找到再去DNS服务器上查
胜象大百科