新闻中心
公告通知 新闻资讯
站客DNS平台上线HTTPDNS
最后更新:2023-11-08编辑 : 站客编辑

我们从以下几个方面来了解httpdns:

1.传统的DNS(下文称LocalDNS)的原理

2.HTTPDNS的原理

3.HTTPDNS 解决了LocalDNS的哪些问题?

4.HTTPDNS适用的场景有哪些?

LocalDNS的原理



DNS解析详细过程:

用户输入网址如baidu.com 回车–>游览器解析网址,获取域名,解析域名。


① 先是向游览器中找是否有此域名的缓存,如果有则解析结束,没有则继续查找操作系统缓存中是否有这个域名对应的dns结果。


② 如果以上两则都未能命中,则游览器会向系统网络配置中已经配好的LocalDNS发送解析请求,请求中携带着要解析的域名

这个dns称为本地区的域名服务器(LocalDNS),通常离我们本地电脑不会太远。


③ 如果这个LocalDNS还是未能命中,就直接到Root Server(根域名服务器)请求解析,根域名解析器会返回给LocalDNS服务器一个所查寻域的顶级域名服务器(gTLD Server)地址。gTLD是国际顶级域名服务器,包含.com、.cn、.org等后缀域名解析,所有提供域名注册的注册商必须在此DNS服务器中注册。


④ LocalDNS拿到这个gTLD的地址后,再带着要解析的域名向gTLD发起解析请求。gTLD服务器查找并返回此域名对应的Name Server域名服务器(或者叫二级域名服务器)的地址,这个Name Server通常就是你注册的域名服务器。


⑤ LocalDNS又再次获得Name Server地址,再次请求,这时Name Server会查询所有存储的域名与IP映射的关系表单,结果连同IP和一个TTL值返回给LocalDNS域名服务器。LocalDNS拿到IP和TTL,先根据TTL值缓存此IP,最后将IP和TTL返回给用户系统。系统根据TTL值缓存在本地缓存中。

HTTPDNS的原理

HTTPDNS是使用HTTP协议向DNS服务器的进行请求,代替传统的DNS协议使用UDP协议向DNS服务器的进行请求,绕开了运营商的Local DNS,简化了请求的复杂性,避免了使用运营商Local DNS造成的劫持和跨网问题。




解析详细过程:

用户输入网址如zhanke.com 回车–>游览器解析网址,获取域名,解析域名。


① 先是向游览器中找是否有此域名的缓存,如果有则解析结束,没有则继续查找操作系统缓存中是否有这个域名对应的dns结果。


② 如果以上两则都未能命中,则游览器会向你部署HTTPDNS服务器发送HTTP请求(直接访问HTTPDNS的IP),HTTP服务器返回域名解析结果,然后浏览器缓存起来。

HTTPDNS解决了LocalDNS的哪些问题

1、DNS劫持;

前面我们有讲到,运营商的dns服务器是核心(LocalDNS大多数为运营商DNS服务器),处在整个DNS解析的交互的中心,这里容易发生劫持。而HTTPDNS直接通过ip地址去访问HTTPDNS服务器,从根本上解决了这个问题。

2、平均访问延迟下降:

从第一章节可以看出,localDNS的解析过程十分复杂,需要递归好几次。

而HTTPDNS,由于是IP直接访问HTTPDNS服务器,则只需要一个来回就能拿到解析的结果。

3、用户连接失败率下降:

通过算法降低以往失败率过高的服务器排序,通过时间近期访问过的数据提高服务器排序,通过历史访问成功记录提高服务器排序。如果ip(a)访问错误,在下一次返回ip(b)或者ip(c) 排序后的记录。(LocalDNS很可能在一个ttl时间内(或多个ttl)都是返回记录)。

HTTP DNS的适用场景

1、对首屏时延要求比较高的APP或者网页;

2、希望降低访问延迟、减少跨网访问的资讯、游戏类APP;

3、希望降低连接失败率,提升业务成功率的通用APP;

4、域名屡次被劫持,希望用户访问顺畅无阻的APP;