可能感兴趣的计算机网络协议 -- HTTPDNS

作者:opLW
漫长寒假,结束了毕业论文的初稿。最近闲来无事学了点Flutter,感觉多个内容同时学可能会比较有趣,然后就重新捡起了网络协议看起了《趣谈网络协议》和《计算机网络》,进一步完善了对计算机网络整体结构的认知,然后顺便记录下自己感兴趣的熟悉又陌生的协议。

HTTPDNS和DNS

  • DNS 用于将域名转换为IP地址。主要经历两个步骤(先递归查询后迭代查询):
    • 递归查询

      1. 在浏览器缓存中查找
      2. 在本机hosts静态文件查找
      3. 在本机DNS解析器缓存中查找
      4. 在本地DNS服务器(即域服务器)查找,其本质是去区域服务器、服务器缓存中查找

    • 迭代查询 如果上面的递归查询查找不到目标IP,则进行下面的迭代查询。

      1. 本地DNS服务器向根域DNS解析器发起请求,根域DNS查找不到。则返回顶级域的ip给本地DNS服务器
      2. 本地DNS服务器向顶级域DNS解析器发起请,顶级域查找不到。则返回二级域的ip给本地DNS服务器
      3. 如此循环直至解析出结果或者返回错误

  • HTTPDNS HTTPDNS将域名解析的协议由DNS协议换成了HTTP协议,直接向HTTPDNS服务端发送域名解析请求,替代了基于DNS协议向运营商本地DNS发起解析请求的传统方式,绕开了本地DNS,可以避免本地DNS造成域名劫持和跨网访问问题,解决移动互联网服务中域名解析异常带来的困扰。
  • 详细参考文章 阿里云上的移动互联网时代,如何优化你的网络 —— 域名解析篇(大佬们的文章果然不一样👍)

HTTPDNS的使用场景

  • 适合C/S架构的应用如移动应用等 由于通过HTTPDNS进行域名解析获取IP信息后,您需要基于该IP信息进行网络请求,即您需要具备定制网络请求的能力。因此HTTPDNS比较适用于C/S架构的应用场景如移动应用等。
  • 不适合浏览器等 浏览器环境下(B/S架构)由于浏览器的网络实现对于开发者而言是黑盒过程,无法定制DNS与网络请求的实现,因此不适合在该场景下使用HTTPDNS。

万水千山总是情,麻烦手下别留情。
如若讲得有不妥,文末留言告知我,
如若觉得还可以,收藏点赞要一起。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值