HTTPDNS 快速入门

article/2025/10/25 13:05:19

作者:林子

对于互联网,域名解析是访问的第一步,而这一步很多时候会导致访问速度慢、失败,甚至无法访问等,那么怎么解决这些问题呢?本文将带你快速入门 HTTPDNS,怎么解决 LocalDNS 异常导致用户访问您的业务出现异常的情况。

一、什么是 DNS

在讲解 HTTPDNS 之前,从 HTTPDNS 名词可以看出它跟 DNS 有必然的联系,所以,我们先来介绍一下 DNS。

DNSDomain Name System,域名系统)是互联网的一项服务。它是域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 UDP 端口53,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

举例来说,当一台设备要访问网络上另外一台设备时,必须首先获知其地址,而这个地址是 TCP/IP 中的 IP 地址,是由四段以“.”分开的数字组成(以 IPv4 的地址为例),但是由于 IP 地址难以记忆,用户难以记忆,因此采用了域名系统来管理名字和 IP 的对应关系。

所以,域名只是一个方便记忆的名字,实际上对网络资源的访问还是得通过IP地址去访问,DNS 解析的作用就是将域名解析成 IP 地址。

二、DNS 是如何工作的

既然域名是方便用户来访问网络上的资源的,那么好记、有代表性的域名就肯定是大家都想要使用的域名,如何在庞大的网络资源中分配域名和进行解析呢?

2.1. 域名的分配和管理

域名由 ICANN(Internet Corporation for Assigned Names and Numbers,因特网域名与地址管理机构)管理,它负责域名系统管理、IP地址分配、协议参数配置,以及主服务器系统管理等职能而设立的非盈利机构。

ICANN 为不同的国家或地区设置了相应的顶级域名,这些域名通常都由两个英文字母组成。例如:.uk代表英国、.fr代表法国、.jp代表日本。中国的顶级域名是.cn,而 .cn下的域名由CNNIC(China Internet Network Information Center,中国互联网络信息中心) 进行管理。

除了代表各个国家顶级域名之外,ICANN 最初还定义了7个顶级类别域名,它们分别是 .com.top.edu.gov.mil.net.org

  • .edu 用于教育机构
  • .gov 用于政府机构
  • .mil 用于军事部门
  • .net 用于互联网络及信息中心等
  • .org 用于非盈利性组织

随着因特网的发展,ICANN 又增加了两大类共7个顶级类别域名。,分别是.aero、.biz、coop、.info、.museum、.name、.pro。其中,.aero、.coop、.museum 是3个面向特定行业或群体的顶级域名,.biz、.info、.name、.pro是4个面向通用的顶级域名。

  • .aero 代表航空运输业
  • .coop 代表协作组织
  • .museum 代表博物馆
  • .biz 表示商务
  • .name 表示个人
  • .pro 表示会计师、律师、医师等
  • .info 没有特定指向

然而,现在的商业公司一般都会默认会使用 .com 作为官网。同时,避免被恶意注册,通常也会注册其它的顶级类别域名。

2.2. 域名的组成

域名由一个或多个部分组成,从右往左依次是顶级域名,二级域名,三级域名……,不一定有这么多级域名,但是也可能出现四级等,通常,子域是从属于其父域的域。如sos.state.oh.us

2.3. 域名是如何解析的

HTTPDNS-01.png

DNS 详细解析过程:

  1. 终端设备发起查询域名的 IP 地址的 DNS 请求。
  2. 请求先经过本地的解析器。本地解析器首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果。如果没有,本地解析器向本地DNS服务器(Local DNS Server)进行查询。
  3. 本地 DNS 服务器首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果。如果没有,本地 DNS 服务器向根域名服务器进行查询。
  4. 根服务器经过查询,会返回可以解析该域名的顶级域名服务器IP地址。
  5. 本地 DNS 服务器向 返回的顶级域名服务器发送 DNS 请求。
  6. 顶级域名服务器收到请求后,不会直接返回域名和 IP 地址的对应关系,而是返回可以解析该域名的权威域名服务器地址
  7. 本地 DNS 服务器向权威域名服务器发送 DNS 请求,请求域名的 IP 地址。
  8. 权威域名服务器收到请求后,在自己的缓存表中发现了该域名和 IP 地址的对应关系,并将 IP 地址返回给本地 DNS 服务器。
  9. 本地 DNS 服务器将获取到与域名对应的 IP 地址返回给本地解析器,并且将域名和 IP 地址的对应关系保存在缓存中,以备下次别的用户查询时使用。
  10. 本地 DNS 解析器将获取到与域名对应的 IP 地址返回给终端设备,并且将域名和 IP 地址的对应关系保存在缓存中,以备下次查询时使用。

2.4. DNS 的缺点

从 DNS 解析过程,我们知道 DNS 的不足:

  • 域名缓存:上次进行的缓存,路由不一定最短
  • 域名转发:域名查询可能会跨运营商
  • 解析耗时:DNS 的查询过程需要递归遍历多个 DNS 服务器,才能获得最终结果。可能会带来一定的延时。
  • 域名劫持:本地运营商可能对某些域名进行劫持、屏蔽。

怎么解决 DNS 以上的缺点呢?HTTPDNS 就是解决这些问题的一种方案。

三、什么是 HTTPDNS

默认情况下的网络请求,系统会通过 DNS 服务器将域名解析成 IP 地址,然后通过这个 IP 地址发送请求。这个 DNS 解析的过程对于 App 来说是黑盒子,通常不用开发者关注,但正因如此导致这个黑盒子的 DNS 系统存在了非常多的缺点。怎么解决这些问题?是否可以不用这个系统,或者把这个 DNS 系统做的更加智能化呢?

简而言之,HTTPDNS 就是使用 HTTP 协议向 DNS 服务器进行请求,从而获取 IP 地址,简化了请求的复杂性。在请求 DNS 服务器的时候,使用 IP 直接访问。跳过使用系统解析的过程,自己来做 DNS 解析系统。

HTTPDNS-02.png

HTTPDNS 的优点:

  • 跳过 LocalDNS,防止本地DNS劫持
  • 直接通过 IP 访问,平均访问延迟下降
  • 服务器算法筛选最佳节点 IP,提升请求成功率
  • 快速更换 IP(不受TTL的限制)

四、 HTTPDNS的业务场景

HTTPDNS 的适用场景:

  1. App 防止恶意劫持
  2. 对访问速度要求高的应用
  3. 应用、视频加速服务,配合CDN,通过DNS服务器返回最佳节点,提高访问效率
  4. 提供更灵活的流量调度能力

主要应用在以下几类移动 App 开发中:

  • 资讯、游戏类 App: 希望降低访问延迟、减少跨网访问,注重快速响应体验。
  • 电商类 App: 希望降低连接失败率,提高业务工作率,注重访问请求稳定性。
  • 社交类 App: 域名屡次被劫持,希望用户访问顺畅无阻。
  • 音视频类 App: 对流畅度要求高,提升音乐、视频播放的连接成功率。

五、总结

HTTPDNS 基于 HTTP 协议向自己的 DNS 服务器发送域名解析请求,替代基于 DNS 协议向运营商 Local DNS 发起解析请求的传统方式,可以避免 Local DNS 造成的域名劫持和跨网访问问题,解决移动互联网服务中域名解析异常带来的困扰。

当然,HTTPDNS 看似很简单,如果要自己实现一个 HTTPDNS 服务器,还是需要考虑很多东西。完善的架构如下图:

HTTPDNS-03.png

图片来源:腾讯云HTTPDNS

HTTPDNS 的出现无法考查,但从鹅厂文章 全局精确流量调度新思路-HttpDNS服务详解 可以看到 QQ 当年也临时同样的 DNS 干扰问题。对于大多数开发者来说,自己实现 HTTPDNS 未尝不可,但如果想快速迭代,现在各大云服务也有提供 HTTPDNS 服务,如 HTTPDNS - 阿里云、HttpDNS - 腾讯云、移动域名解析服务 - 百度云 等等。

从原理上来讲,HTTPDNS 只是将域名解析的协议由 DNS 协议换成了 HTTP 协议,并不复杂。但是这一微小的转换,却带来了巨大的收益,其中 DNS 劫持(域名劫持)就是最为严重的一个问题,通过某些方式篡改了用户正常访问的 web 网页,插入广告或者其他内容,在页游时代就经常发生。而移动 App 主要导致无法访问、成功率下降等问题。同时,在今天移动互联网高度成熟环境下,用户体验越发重要,智能解析,就近接入,提升连接成功率,快速响应,确保用户访问顺畅,这些都是 HTTPDNS 的优势。移动互联网的下半场,是对用户体验的极致追求,也是对技术的融合创新的极致追求!

欢迎大家一起在评论区交流~

欢迎关注我们,了解更多 iOS 和行业技术的动态~

六、参考链接

  1. 域名系统 - 维基百科
  2. 超详细 DNS 协议解析 - 知乎
  3. HttpDns 在 iOS 端的接入方案 - 掘金
  4. 全面理解DNS及HTTPDNS - 掘金
  5. 图解 DNS & HTTPDNS 原理 - 掘金
  6. 深入理解Http请求、DNS劫持与解析。 - 掘金
  7. 【鹅厂网事】全局精确流量调度新思路-HttpDNS服务详解
  8. HTTPDNS - 阿里云
  9. HttpDNS - 腾讯云
  10. 移动域名解析服务 - 百度云

http://chatgpt.dhexx.cn/article/8IFIHLxU.shtml

相关文章

HttpDNS 服务详解

http://www.ttlsa.com/web/httpdns-detailed-service/ 摘要 对于互联网,域名是访问的第一跳,而这一跳很多时候会“失足”,导致访问错误内容,失败连接等,让我们在互联网上畅游的爽快瞬间消失,而对于这关键…

HTTPDNS 解析

简介 HTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。 HTTPDNS是面向移动开发者推…

HttpDNS简述

顾名思义,httpdns就是基于http协议进行域名解析的基础服务。可以用来代替传统的基于tcp/udp协议的dns服务。 HttpDNS解决的问题 HttpDNS 目的在于解决移动互联网中传统DNS 解析超时(异常)、域名劫持等问题: 传统DNS的现状&#x…

关于HTTPDNS,你知道多少?

导读: 全网域名劫持率高,域名解析失败、解析超时,IP调度不精准,域名解析变更生效不实时,这些问题是否一直困扰着你?作为网络请求最前置的环节,域名解析的稳定与精准程度直接决定了APP的访问体验…

Windows 桌面美化

大家都是程序员,我平时上班用mac,mac没啥想调整的,自己用的win想搞美化一点,就网上搜了不少东西。 这是我现在的桌面,桌面软件用的是wallpaper,stream18元有售。内部还有福利。。。。 我只保留了垃圾桶&…

WIN10桌面美化(折腾)

WIN10桌面美化(折腾) 先上我现在桌面的截图:我觉得mac dock挺好看的,所以我把任务栏改成Macdock 修改 :任务栏 修改工具 :MyDock (点击下载) 修改方法 : 先把win任务栏隐藏起来 下载解压

WIN10美化桌面

说到美化桌面这方面,每一个人都有自己的想法。没有最好,只有最适合。由于自己有强迫症这一点,所以我的方案是适合强迫症的。废话不多说,先上桌面截图吧: 下面说下步骤: 由于有强迫症,所以桌面一…

win10电脑桌面html,手把手教你美化win10电脑桌面的小技巧

电脑开机之后首先映入眼帘的是桌面,如果桌面背景不美观,会影响一整天的工作心情。美化Win10系统桌面大家只停留上更换桌面壁纸,改改图标又或者是字体,没什么个性。追求个性化的用户想要打造不一般的桌面,比如主题&…

win10主题美化(单)

网站:https://zhutix.com/tag/win10-zhuti/ Win10美化教程 以下内容新手必看必做,否则请做好重装系统的准备,一切后果自负 01、增加系统登录密码️ 并 关闭系统自动更新,可预防95%因美化引起的闪屏,万一闪屏可以在登录…

171029 windows10 桌面美化

最终效果 视频 https://www.youtube.com/watch?v6-5mromnf3c 壁纸 http://qph.ec.quoracdn.net/main-qimg-2cde0a53288265fd5dbe4285d60c3afc RocketDock https://rocketdock.com/download Win10-Theme https://limera1n.deviantart.com/art/Win10-Theme-for-RocketD…

WIn10桌面美化(一)Rainmeter的使用

随着时代的进步,人们使用电脑的频率越来越高,死板的桌面已经无法满足我们的需求,下面我就简单介绍美化桌面的方法。 这里我使用的是一款名为 Rainmeter 的软件 ,Rainmeter原本是一个系统状态监视软件,由于其强大的可定…

美化你的Xfce桌面

Xfce的鼎鼎大名你是不是早有耳闻了?Xfce是一个很好的轻量级桌面环境,占用系统资源少是他的优点,你可能会在一些嵌入式系统中见到他的身影,但他也有一个缺点,那就是默认的界面看起来有点旧。但这是不Xfce的错&#xff0…

Win10桌面美化(桌面数字时钟,悬浮侧边栏、透明任务栏、底部居中软件图标)

生命在于折腾,一个简洁清爽的界面可以让人心情愉悦,整理分享一下我的Win10桌面美化历程,先上效果图: 首先得准备一张好看的壁纸,文中涉及到的图片,软件已经全部打包,下载链接在文末。 1. 桌面数…

Win10值得推荐的软件,提升效率和桌面美观

某乎真强,删后留存 桌面镇楼,最近重装了win10,感觉系统又变得流畅了许多? 因为没有备份,所以软件都重新装了一遍,下面来记录一下Win10下不错的软件吧。 mac的可以查看另一篇文章:MAC值得推荐…

六款顶级桌面美化软件推荐(Windows)

电脑已经渐渐融入我们日常的生活,每天打开电脑娱乐和工作成了多数人生活的一部分。当然,看什么东西时间一长都会产生疲乏和厌倦感,所以不少软件开发者瞄准了系统美化这一块,制作出了很多独具特色的系统美化工具,并且解…

技巧:win10的另一种美化字体的方式,使用noMeiryoUI

目录 1. 前提2. 字体选择3. 查看已经安装的字体并查看效果4. 安装软件修改系统字体5. 修改浏览器字体 1. 前提 21年的时候写了一篇文章,《Windows10下美化字体,达到类似mac的效果》,当时还很迷恋macType这个软件的使用,觉得好牛逼…

Win10美化

我喜欢比较纯净的桌面,也就是桌面上不放任何图标、文件和文件夹,又嫌搜索应用太麻烦,所以启动应用就落在了win10自带的开始屏幕上,但是自带的磁贴着实简陋,因此就踏上了磁贴美化的漫漫长路。 1.默认效果功能分区整齐排…

windows 10 主题美化

摘要:windows10系统采用扁平化设计,但是我们总有审美疲劳,所以我们也想像以前的windows7系统一样可以更改主题,但是windows 10系统安全性比windows 7系统更加高,也导致了windows10的系统更换主题的麻烦,因为…

Windows桌面美化

Windows桌面美化 链接: https://pan.baidu.com/s/1CZ2EzTbfQBRETdVPHufkrw 提取码: pw9p

Win 10 桌面简单美化(+开始菜单 TileGenie)

Win 10 桌面简单美化(开始菜单 TileGenie) 任务栏仿Dock任务栏透明化隐藏输入法图标其他 桌面图标开始菜单动态磁贴图片磁贴 个人喜欢优美的壁纸,干净的桌面,所以进行了win10桌面的简单美化,教程如下。 重装了一次操作…