2.3.4 使用 HTTPDNS 解决“中间商”问题

“域名解析器”是 DNS 查询中的第一站,它作为客户端与“域名服务器”的中间人帮我们解析“整棵 DNS 树”。

但作为一个“中间商”,“域名解析器”很容易出现域名劫持、解析时间过长、解析调度不精准等问题。这些问题的根源在于 域名解析经历了过多的中间环节,服务质量不可控。为了解决上述问题,一种新型的 DNS 解析模式 —— HTTPDNS 应运而生。

HTTPDNS 的工作原理如图 2-7 所示。客户端内部集成 HTTPDNS 模块,跳过“操作系统定义的解析服务”(图中的 LocalDNS,也就是默认基于 UDP 协议的域名解析系统),替换为使用 HTTPS 协议请求更可靠的“软件定义的解析服务”(图中的 6.6.6.6)。


图 2-7 HTTPDNS 模式下 DNS 解析原理

上述设计的好处是避免了“中间商赚差价”。软件定义的解析服务直接从“权威域名服务器”同步解析记录,逻辑更可控,也能准确判断客户端地区和运营商,得到更精准的解析结果。

通过使用 HTTPDNS ,再结合与之匹配的客户端解析缓存、热点域名预解析等优化手段,能明显改善传统域名解析带来的各类问题。根据笔者的实践结论,使用 HTTPDNS 后,HTTP 服务的初次请求延迟下降 25% 左右,域名解析劫持、页面无法打开、请求失败的故障率也大幅下降。

总字数:414
Last Updated:
Contributors: isno