Stub Resolver - dns存根解析器,即dns client,是发起dns请求的起始点。用户有三种选择:1.可自己实现dns解析库;2.可以调用系统提供的库(如,gethostbyname/getaddrinfo-glibc同步dns库);3.也可以引入第三方实现的通用库(如,bind/adns-异步dns库)。
本文以chromium为例,说明存根解析器的解析流程。chromium功能比较全面,根据配置不同,支持3种client:1.可以使用自己实现的异步dns解析库;2.也支持调用系统实现的同步接口getaddrinfo;3.新版本另外增加了对doh(dns over https)的支持。