• DNS解析


    **概念**: DNS 是域名系统 (Domain Name System) 的缩写,提供的是一种主机名到 IP 地址的转换服务,就是我们常说的域名系统。它是一个由分层的 DNS 服务器组成的分布式数据库,是定义了主机如何查询这个分布式数据库的方式的应用层协议。能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

    **作用**: 将域名解析为IP地址,客户端向DNS服务器(DNS服务器有自己的IP地址)发送域名查询请求,DNS服务器告知客户机Web服务器的 IP 地址。

    DNS服务器解析域名的过程:

    (1)- 首先会在**浏览器的缓存**中查找对应的IP地址,如果查找到直接返回,若找不到继续下一步

    (2)- 将请求发送给**本地DNS服务器**,在本地域名服务器缓存中查询,如果查找到,就直接将查找结果返回,若找不到继续下一步

    (3)- 本地DNS服务器向**根域名服务器**发送请求,根域名服务器会返回一个所查询域的顶级域名服务器地址

    (4)- 本地DNS服务器向**顶级域名服务器**发送请求,接受请求的服务器查询自己的缓存,如果有记录,就返回查询结果,如果没有就返回相关的下一级的权威域名服务器的地址

    (5)- 本地DNS服务器向**权威域名服务器**发送请求,域名服务器返回对应的结果

    (6)- 本地DNS服务器将返回结果保存在缓存中,便于下次使用

    (7)- 本地DNS服务器将返回结果返回给浏览器

    比如要查询 [www.baidu.com](http://www.baidu.com/) 的 IP 地址,首先会在浏览器的缓存中查找是否有该域名的缓存,如果不存在就将请求发送到本地的 DNS 服务器中,本地DNS服务器会判断是否存在该域名的缓存,如果不存在,则向根域名服务器发送一个请求,根域名服务器返回负责 .com 的顶级域名服务器的 IP 地址的列表。然后本地 DNS 服务器再向其中一个负责 .com 的顶级域名服务器发送一个请求,负责 .com 的顶级域名服务器返回负责 .baidu 的权威域名服务器的 IP 地址列表。然后本地 DNS 服务器再向其中一个权威域名服务器发送一个请求,最后权威域名服务器返回一个对应的主机名的 IP 地址列表。

  • 相关阅读:
    iTOP-3568开发板Android11 proc文件系统查询
    【无标题】django中logging配置
    分页查询慢的优化方式
    CommunityToolkit.Mvvm8.1 viewmodel源生成器写法(3)
    JZ-7GY-S002XMC跳合位电源监视继电器
    k8s--基础--02--组件
    基于Google Vertex AI 和 Llama 2进行RLHF训练和评估
    redis的实际使用
    前端培训技术Webpack优化构建速度
    golang中的正则表达式使用注意事项与技巧
  • 原文地址:https://blog.csdn.net/weixin_41127362/article/details/127440892