DNS (Domain Name System) 解析是将人类可读的域名 (如 "example.com") 转换为计算机可识别的 IP 地址 (如 "192.0.2.1") 的过程。每次用户在浏览器中输入网址或点击链接时,都会触发 DNS 解析。
DNS 解析的过程涉及多个层级的查询:浏览器首先检查本地缓存,然后查询操作系统的 DNS 缓存,接着向配置的 DNS 递归解析器发送请求,递归解析器依次查询根域名服务器、顶级域名服务器和权威域名服务器,最终获得目标域名的 IP 地址。整个过程需要多长时间,取决于线路质量以及各级缓存是否命中,在移动网络下往往更长。
在 URL 缩短服务中,DNS 解析是用户点击短链接后的第一步。短链接域名的 DNS 解析速度直接影响用户感知的跳转延迟。使用 CDN (如 CloudFront) 可以将 DNS 解析时间缩短到最低,因为 CDN 在全球部署了大量的边缘节点。
DNS 的 TTL (Time to Live) 设置影响缓存行为。较长的 TTL 减少 DNS 查询次数但延迟配置变更的生效时间,较短的 TTL 允许快速变更但增加 DNS 查询负载。
TTL 的具体取值决定了这一权衡的落点。较长的 TTL (例如 86400 秒 = 24 小时) 让解析结果长时间留在缓存中,第二次以后的访问明显加快,但记录变更需要很久才能生效;较短的 TTL (例如 300 秒 = 5 分钟) 能让变更迅速反映,代价是缓存命中率下降、DNS 查询量增加。
解析器的选择也会影响实际速度。使用 Cloudflare (1.1.1.1) 或 Google Public DNS (8.8.8.8) 这类响应迅速的递归解析器,可以缩短短链接在跳转之前的等待时间。