517 字
3 分钟
谈谈对 DNS 和 CDN 的理解
  1. 1计算机网络学习路线与文章导读
  2. 2网络分层模型与数据封装是怎么回事
  3. 3TCP/IP 四层模型与 OSI 七层模型
  4. 4IP 地址与 CIDR 子网怎么理解
  5. 5ARP 是什么?主机如何找到目标 MAC 地址
  6. 6IP 路由与默认网关是如何工作的
  7. 7TCP 和 UDP 有什么区别?如何选择
  8. 8TCP 握手、挥手和丢包重传分别解决什么问题
  9. 9TCP 三次握手与四次挥手
  10. 10TCP 流量控制和拥塞控制有什么区别
  11. 11TCP 为什么可靠:流量控制、拥塞控制与局限性
  12. 12TCP 丢包、粘包和拆包是什么
  13. 13HTTP/1.0、HTTP/1.1、HTTP/2 与 HTTP/3 有什么区别
  14. 14HTTP 请求包含哪些内容
  15. 15HTTP 中 GET 和 POST 有什么区别
  16. 16HTTP 方法的安全性与幂等性怎么区分
  17. 17HTTP 状态码与网络故障如何区分排查
  18. 18常见 HTTP 状态码与网站故障排查
  19. 19HTTP 和 HTTPS 有什么区别
  20. 20谈谈对 DNS 和 CDN 的理解本文
  21. 21从输入网址到网页显示发生了什么
  22. 22TCP 的 TIME_WAIT 状态有什么作用
  23. 23TCP 的 CLOSE_WAIT 状态是什么,过多如何排查
  24. 24TLS 1.3 握手过程是什么
  25. 25HTTPS 如何校验证书
  26. 26HTTP 强缓存和协商缓存怎么工作
  27. 27HTTP Keep-Alive 是什么,连接如何复用
  28. 28WebSocket 和 HTTP 有什么区别
  29. 29服务端如何解析 HTTP 请求的数据
  30. 30NAT 是什么?端口映射如何实现
  31. 31ICMP、ping 和 traceroute 分别做什么
  32. 32网络故障如何分层排查
  33. 33Cookie、Session、Token 与 JWT 有什么区别
  34. 34常见的登录鉴权方式有哪些
  35. 35什么是 SYN Flood 攻击

谈谈你对 DNS 的理解#

DNS(Domain Name System)是域名系统,主要作用是将域名解析为 IP 地址,方便用户通过域名访问服务器。

DNS 的解析过程通常是先查询浏览器、操作系统和 DNS 解析器的缓存。如果缓存没有命中,递归解析器会根据需要查询根 DNS 服务器、顶级域 DNS 服务器和权威 DNS 服务器,最终获得对应的 IP 地址并返回给客户端。

DNS 主要使用 UDP 协议的 53 端口,必要时也会使用 TCP 的 53 端口。为了提高解析效率,DNS 还使用缓存机制,TTL 用于控制记录的缓存时间。

此外,DNS 也可以配合 CDN,根据用户的网络位置等因素返回合适的服务器 IP。

在 Java 后端开发中,DNS 会影响 HTTP 接口调用、数据库连接和服务发现,因此理解 DNS 有助于排查域名解析失败和网络连接问题。

谈谈你对 CDN 的理解?#

CDN,也就是内容分发网络,是一种通过在不同地区部署边缘节点,并缓存内容来加速用户访问的技术。

它的基本原理是:用户访问资源时,CDN 通过 DNS 调度等机制将用户引导到合适的边缘节点。如果节点缓存命中,就直接返回资源;如果缓存未命中,则根据配置向源站回源获取内容,并在符合缓存规则时保存内容。

CDN 的主要作用是加快资源访问速度、降低源站负载、节省带宽,并且部分 CDN 还提供高可用和安全防护能力。

在 Java 后端开发中,通常可以使用 CDN 分发图片、CSS、JavaScript 等静态资源,而动态 API 请求交给 Nginx 或网关转发到 Spring Boot 服务。

需要注意,CDN 并不是所有请求都能加速,实际效果取决于缓存命中率、节点网络情况以及缓存策略。

谈谈对 DNS 和 CDN 的理解
https://blog.xqcherry.top/posts/interview/network/dns-and-cdn/
作者
xqcherry
发布于
2026-10-11
许可协议
CC BY-NC-SA 4.0