当前位置: 首页 > news >正文

Dns与httpDNS的区别

一、什么是DNS

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

  • 举例来说,当一台设备要访问网络上另外一台设备时,必须首先获知其地址,而这个地址是 TCP/IP 中的 IP 地址,是由四段以“.”分开的数字组成(以 IPv4 的地址为例),但是由于 IP 地址难以记忆,用户难以记忆,因此采用了域名系统来管理名字和 IP 的对应关系。所以,域名只是一个方便记忆的名字,代表了公司或者个人,实际上对网络资源的访问还是得通过IP地址去访问,DNS 解析的作用就是将域名解析成 IP 地址。

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

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

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

二、什么是httpDNS

HTTPDNS 就是使用 HTTP 协议(不使用DNS协议)向 httpDNS 服务器进行请求,获取想访问域名对应的IP 地址,简化了请求的复杂性。在请求 httpDNS 服务器的时候,使用 IP 直接访问。跳过使用系统DNS服务器解析的过程,使用httpDNS替代DNS解析系统的功能。(前提是内置了httpDNS服务器的ip地址)一般用于App,不可用于浏览器。

HTTPDNS 的优点:

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

HTTPDNS 的适用场景:

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

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

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

总结

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

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

相关文章:

  • 北京网站做的好的公司简介/2024最火的十大新闻
  • 网站建设哪个平台好/网址大全名称
  • 几台服务器做集群网站/网络营销外包
  • wordpress博客工具/个人代运营一般怎么收费
  • 网络推广网站/如何创建一个网址
  • 表白网站建设/西安网络优化培训机构公司
  • SSL协议未开启是什么意思?
  • leetcode 648. 单词替换【python3哈希集与两种字典树的方法的思考过程整理】
  • [解题报告] CSDN竞赛第24期
  • Ubuntu22.04 设置静态IP
  • Golang网络聊天室案例
  • spring系列 事务
  • Unity 过场工具(Cutscene)设计(二)
  • 蓝桥杯STM32G431RBT6学习——按键
  • 【C语言课程设计】通讯录(1.0版本)
  • Waf功能、分类与绕过
  • SpringBoot快速上手
  • K8s 如何通过 ConfigMap 来配置 Redis ?