HTTP-DNS协议

6 阅读3分钟

DNS 是什么?

DNS(Domain Name System,域名系统)是互联网的电话簿。它的作用是 将域名转换为 IP 地址,从而让浏览器可以找到并访问目标服务器。


DNS策略

负载均衡(Load Balancing)

负载均衡是一种通过 返回多个 IP 地址 实现请求分发的方式,用于提升网站的 可用性性能。常见形式包括:

  • 轮询(Round-robin)
    轮流返回多个服务器的 IP 地址,实现简单的请求分发。

  • 地理位置(GeoDNS)
    根据用户的地理位置返回就近服务器的 IP,提升访问速度。

  • 基于性能的路由
    返回响应最快、延迟最低的服务器地址。

故障转移(Failover)

故障转移是指当主服务器不可用时,自动切换到备用服务器的机制:

  • 实现方式:
    利用监控系统定时检查主服务器健康状态。
    如果检测失败,DNS 服务将自动切换返回备用 IP 地址。

DNS 查询过程(以用户访问一个网站为例):

当你在浏览器中输入 www.example.com 并访问网站时,DNS 查询过程大致如下:

  1. 浏览器缓存

    • 首先检查浏览器是否缓存了域名对应的 IP 地址。
    • 如果有且没有过期,直接使用。
  2. 操作系统缓存(DNS Resolver 缓存)

    • 如果浏览器没有缓存,会检查操作系统是否缓存了域名对应的 IP 地址。
  3. 本地域名服务器(通常由 ISP 提供)

    • 如果操作系统也没有缓存,查询会被发送到本地域名服务器,继续检查否缓存了域名对应的 IP 地址。
  4. 根域名服务器

    • 本地域名服务器向根域名服务器请求,得到顶级域名服务器地址。
  5. 顶级域名服务器(TLD)

    • 本地域名服务器向顶级域名服务器请求,得到权威域名服务器地址。
  6. 权威域名服务器(Authoritative DNS)

    • 本地域名服务器向权威服务器请求,得到 www.example.com 对应的 IP 地址。
  7. 返回结果并缓存

    • 本地域名服务器把 IP 地址返回给操作系统,再返回给浏览器。
    • 三者都同时缓存这个结果。
  8. 浏览器发起 HTTP 请求

    • 浏览器使用拿到的 IP 地址发起 HTTP 请求,加载网站资源。

CDN 与 DNS 的协同

CDN(Content Delivery Network,内容分发网络)是一种将网站内容缓存到全球多个节点(边缘服务器)的技术架构,目的是加速访问、减轻源站压力、提升稳定性、增强安全性

CDN 的核心工作方式:

当用户访问网站资源时:

  • 请求被自动定向到 距离最近的 CDN 节点
  • 如果该节点已缓存目标资源,直接返回,速度快且不依赖源站;
  • 如果未缓存,则向源站请求、返回后并缓存,供下次请求使用。

CDN 经常配合 DNS 策略使用,将用户请求引导至最佳节点,实现全局最优访问路径。