什么是HTTPDNS?HTTPDNS有哪些作用?

news2024/9/21 1:38:55

近几年来,HTTPDNS技术大火,很多大的网站都开始部署自己的HTTDNS服务器,那么什么是HTTPDNS,HTTPDNS和传统的DNS技术相比有哪些区别?HTTPDNS又有哪些作用呢?针对这些问题,本文中科三方做下简单介绍。

传统DNS解析原理

在传统DNS解析过程中,运营商提供的local DNS起到了非常重要的作用。当客户端发起解析时,首先会请求local DNS,如果local DNS中缓存有请求域名的记录,就会将结果直接告知客户端。如果缓存中没有结果,就会先请求根域名服务器,然后在请求对应的顶级域名服务器,最终得到域名对应权威解析服务器地址,通过权威解析服务器地址获取域名对应的IP地址,最后local DNS将IP地址告知客户端,从而完成整个解析过程。
在这里插入图片描述

传统DNS解析的弊端

(1)容易被劫持

在传统DNS解析过程中,local DNS作用十分明显,如果攻击者在local DNS缓存中注入错误的解析结果,就可能将访问者引导至受攻击者控制的错误网站或站点不可达,这就是DNS劫持攻击。DNS劫持目前已成为网络攻击中一种非常常见且破坏巨大的攻击行为。

(2)解析延迟较高

在不存在DNS缓存的情况下,客户端在发起解析请求之后,要先后经过local DNS、根服务器、顶级服务器、权威服务器等全球多层级查询,整个过程比较繁琐,会产生较高的延迟。

(3)解析精度不高

为了提升解析效率,DNS解析引入缓存机制,所以在大部分解析场景中,当客户端发起解析请求时,local DNS会直接从DNS缓存中将结果返回给客户端,这样速度就提升了很多。但缓存带来的问题是,如果域名的解析记录发生变更,DNS缓存并不能及时同步,就会造成解析错误,访问错误网站情况的发生。

什么是HTTPDNS?

与传统DNS采用UDP协议传输不同,HTTPDNS是使用HTTP协议直接向DNS服务器发起请求,这样就绕开了运营商的local DNS,简化了请求的复杂性,避免了使用运营商local DNS造成的域名劫持和延迟过高的问题。
在这里插入图片描述

HTTPDNS有哪些作用?

(1)防止域名劫持

HTTPDNS是直接通过IP请求HTTPDNS服务器,从而绕过Local DNS服务器,避免了被劫持的情况,所以解析的安全性更高。

(2)域名解析更精准

HTTPDNS能够直接获取到用户的IP地址,不会出现因为修改域名解析,DNS缓存不能及时同步,造成解析不生效的异常状况,因此解析的精度更高。

(3)解析延迟降低

从传统域名解析的流程中可以看出,域名解析的标准流程十分复杂,需要递归多次才能拿到最终的解析结果,如果权威解析服务器的距离过远,就会产生很大延迟。而HTTPDNS只需要一次请求就能拿到解析结果,解析延迟降低,解析速度更快。

(4)用户连接失败率下降

HTTPDNS可以通过算法降低以往失败率较高的服务器排序,通过历史访问成功记录提高服务器排序。如,访问IPa发生错误,在下一次访问时就将IPb排在IPa之前,从而提升用户连接的成功率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/196910.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【学习】Linux 系统 文件权限表示

学习内容描述:Linux 系统 文件权限格式 重点知识: Linux 系统 文件权限格式是10位,格式例如:-rw-rw-rw-,表示文件所有者、所属组、其他用户都具有读和写的权限 。 (1)第0位确定文件类型 其中: …

计算机组成原理 第三章笔记

视频网址 仅仅是笔记记录,若有错误请指出。 零碎的 存储器的分类 磁表面存储器:磁盘,磁带磁芯存储器半导体存储器 RAM ROM光存储器 看下面这个思维导图 存储器的性能指标 存储容量:存储字数字长单位成本: 每位价格总成本/总容量存储速度:数…

Android Studio Linux系统模拟器启动异常

一、报错:/dev/kvm device permission denied 1、首先检查/dec/kvm的所属关系 命令:ls -al /dev/kvm 可以看到,属于root用户,组也是root用户 2、查看当前用户是否在root组 命令:grep root /etc/group 显然是没有的…

C语言学习笔记-数组

C 数组 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量,比如 runoob0、runoob1、…、runoob99&#x…

Project3:Ants Vs. SomeBees

Ants Vs. SomeBees1. 前言2. Phase 1:Basic gameplay3. Phase 2:More Ants!4. Phase 3: Water and Might5. 测试结果1. 前言 本项目是 CS 61A 的第三个项目,要求是实现一个类似于植物大战僵尸的游戏,这里 Ants 就相当…

【redis】redis的过期策略以及内存淘汰机制

前言 今天我们讨论下redis的过期策略以及内存淘汰机制,如果你想要考察一个人对redis的了解,那吗这个问题是必选的,从他对这个问题的回答中,就可以了解到他的redis深浅。 过期策略 先来介绍下,Redis key 过期删除的策…

虹科产品 | 使用Redis企业版数据库为MySQL增添魅力!

MySQL读取数据慢? 难以轻松扩展? 数据搜索效率低? 无法实时分发数据集? 虹科Redis企业版数据库解决方案来了!企业将Redis企业版数据库与MySQL一起使用,可以实现企业缓存或复制数据库,从而使应用…

MATLAB 非线性规划

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

uniapp APP分享;判断用户是否安装APP,已安装直接打开,未安装跳转下载页;uniapp 在外部打开APP(schemes)

场景: A将某商品分享给B,B点击后判断是否安装APP,若安装直接打开,没有安装则跳转下载页; 知识点: uniapp APP分享;判断用户是否安装APP,已安装直接打开,未安装跳转下载…

从零开始的数模(十一)微分方程建模

目录 一、概念 1.1什么是微分方程建模 1.2使用场合 二、基于python的微分方程建模 2.1scipy.integrate.odeint() 函数 ​编辑2.2案例 ​编辑 三、基于MATLAB的微分方程建模 四、偏微分方程的求解 一、概念 1.1什么是微分方程建模 微分方程建模是数学模型的重要方法&am…

AcWing 1081. 度的数量(数位DP)

AcWing 1081. 度的数量(数位DP)一、问题二 、数位DP三、解析1、题意理解2、题目分析三、代码一、问题 二 、数位DP 这道题是一道数位DP的题目,其实数位DP更像我们在高中阶段学过的排列组合问题中的分类讨论。 数位DP顾名思义就是按照数字的…

B/S端界面控件DevExtreme v22.2新功能 - 如何在日历中显示周数?

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐…

LeetCode-1145. 二叉树着色游戏【深度优先搜索,二叉树】

LeetCode-1145. 二叉树着色游戏【深度优先搜索,二叉树】题目描述:解题思路一:深度优先搜索分别计算x的左子树lsz和右子树rsz的节点个数。那么除去x与其左右子树的父子树的节点个数为n-1-lsz-rsz。贪心的,那么二号玩家其实可以占据…

Java基础学习笔记(十八)—— 转换流、对象操作流

转换流、对象操作流1 转换流1.1 构造方法1.2 指定编码读写2 对象操作流2.1 对象操作流概述2.2 对象序列化流2.3 对象反序列化流2.4 案例1 转换流 1.1 构造方法 转换流就是来进行字节流和字符流之间转换的 InputStreamReader:是从字节流到字符流的桥梁,…

Linux(八)线程概念

1、线程的本质 线程就是一个进程内部的控制序列 是CPU进行执行调度的基本单元。(调度一段代码的执行是通过线程完成的) 一个进程中至少有一个线程(所以进程与线程的数量关系是 一对一 或 一对多) 2、为什么把线程称为LWP LWP…

数学建模之熵权法(SPSSPRO与MATLAB)

数学建模之熵权法(SPSSPRO与MATLAB)一、基本原理对于某项指标,可以用熵值来判断某个指标的离散程度,其信息熵值越小,指标的离散程度越大(表明指标值得变异程度越大,提供的信息量越多),该指标对综…

Maxout 激活函数与 Max-Feature-Map (MFM)

前言 最近在读 A Light CNN for Deep Face Representation With Noisy Labels 提到 maxout 激活函数,虽然很好理解,激活的时候选取最大值即可,但是具体细节看了看相关的资料反倒混淆了。参考了一个相关的视频,大致屡清楚为什么说…

技术周 | qemu网络收发包流程

通常我们使用qemu创建虚拟机时,会使用下面的选项指定虚拟网卡设备的类型,以及桥接、tap设备参数等,如下: -device选项用于给虚拟机分配虚拟设备,如磁盘设备、网卡设备等 -netdev选项用于配置虚拟设备的后端&#xff0…

MACD底背离选股公式以及技术指标公式

今天介绍MACD底背离选股公式,整体来说编写难度比较大,按照MACD底背离的定义,需要分别找到2个价格波段低点以及快线DIF的2个低点,并进行比较,最终实现选股。 一、MACD底背离选股公式(平替版) 首先…

ES6 简介(一)

文章目录ES6 简介(一)一、 概述1、 导读2、 Babel 转码器2.1 是什么2.2 配置文件 .babelrc2.3 命令行转码2.4 babel-node2.5 babel/register2.6 polyfill2.7 浏览器环境二、 变量1、 let2、 const3、 ES6 声明变量4、 顶层对象的属性5、 globalThis 对象…