一、什么是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 的优势。移动互联网的下半场,是对用户体验的极致追求,也是对技术的融合创新的极致追求!

Dns与httpDNS的区别相关推荐

  1. 计算机网络协议(五)——DNS、HTTPDNS

    底层网络知识详解:DNS.HTTPDNS 概述 一.DNS协议:网络世界的地址簿 1.1 DNS解析流程 1.2 负载均衡 二.HTTPDNS 概述 这个专栏的计算机网络协议,我是在极客时间上学习 已 ...

  2. 看懂DNS到HttpDNS

    看懂DNS到HttpDNS 文章目录 看懂DNS到HttpDNS DNS 什么是DNS以及DNS的作用 为何需要DNS解析域名成IP 简单域名知识 DNS解析流程 本地DNS DNS解析总结 基于UD ...

  3. DNS与HTTPDNS

    DNS服务器 根DNS服务器:返回顶级域DNS服务器的IP地址 顶级域DNS服务器:返回权威DNS服务器的IP地址 权威DNS服务器:返回相应主机的IP地址 流程图: 负载均衡 内部负载均衡:可以配置 ...

  4. dns与wins的区别

    对于许多人来说, WINS服务器和 DNS服务器之间的关系还是一件神秘的事情.不过,我们希望用你的问题澄清这个事情. 首先,DNS指的是"域名服务器",而WINS指的是" ...

  5. 全面理解DNS及HTTPDNS

    说明 移动场景下DNS解析开销是整个网络请求中不可忽略的一部分.在弱网环境下,基于UDP的LocalDNS解析非常容易出现解析超时的问题,并且即使解析成功会消耗数百毫秒乃至更甚,对我们整个业务请求而言 ...

  6. NetBIOS、WINS、DNS的联系和区别

    DNS--Domain Name Server,域名与IP地址的联系 WINS--Windows Internet Name Server,为网络上使用的IP地址提供可注册和解释的NETBIOS名称的 ...

  7. DNS和WINS的区别

    首先,DNS指的是"域名服务器",而WINS指的是"Windows互联网名称服务".两者都是用来解析域名的,但是,使用的方法完全不同! 为了帮助说明这个问题,我 ...

  8. ip地址、域名、DNS、URL的区别与联系

    IP:每个连接到Internet上的主机都会分配一个IP地址,此ip是该计算机在互联网上的逻辑地址的唯一标识,计算机之间的访问就是通过IP地址来进行的.写法:十进制的形式,用"." ...

  9. TTL值的含义以及与域名DNS TTL值的区别

    什么是TTL? TTL是IP协议包中的一个值,指定数据报被路由器丢弃之前允许通过的网段数量. 在很多情况下数据包在一定时间内不能被传递到目的地.解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文 ...

最新文章

  1. 基于AWS-ELK部署系统日志告警系统
  2. “智能”基石:人工智能数据标注与训练,是决定智能时代的第一步
  3. 程序员随笔:使用来自服务器的图像(有源码)
  4. Delphi判断一个文件是不是JPG图片
  5. Windows 10——安装Snort_2_9_16
  6. CodeForces - 1332D Walk on Matrix(构造)
  7. ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试ces测试数据测试再次测试
  8. window mysql集群视频_windows7实现mysql集群cluster-mysql簇
  9. TRACE (VC)
  10. mysql 多值属性_数据库 名词解释:单值属性和多值属性
  11. JAVA写的多线程下载程序,并具有断点续传功能
  12. get 与 post的区别?application json 与form表单的区别?
  13. net.sf.json Sring转JSON对象 数据精度丢失
  14. 深入理解JavaScript系列(25):设计模式之单例模式
  15. 四级英语作文:收入差距
  16. SPSS教程——进行卡方检验的相关步骤
  17. 共模干扰和差模干扰的理解
  18. layuiTable固定列
  19. 吉林大学计算机科学与技术学院学士,贾海洋(吉林大学计算机科学与技术学院副教授)...
  20. VIA和PAD的用法区分

热门文章

  1. rdlc报表An error occurred during local report processing错误
  2. 毕设(一):正则化极限学习机(RELM)、在线学习的极限学习机(OS-ELM)、带遗忘机制的在线学习极限学习机(FOS-ELM)
  3. 校园安防之高清IP摄像头全终端无插件直播视频流媒体服务EasyNVR校园监控系统方案
  4. 第四章 账号权限管理
  5. 利用MATLAB实现空间两点距离的计算以及优化
  6. java 打印 日历 详细 注解_Java类库 LocalDate类的简单使用(一)之打印本月的日历...
  7. java学习笔记—java的学习路线
  8. win10 x64下的DNW驱动不完全安装方法
  9. 利用photoshop切图
  10. 上市公司财务报告的那点事(4):我的选股策略和实际投资组合