DNS 是什么?互联网的电话本

2026-07-14#DNS#域名#IP地址

读完这篇,你会搞懂 DNS 是什么、为什么输域名就能打开网站、以及你自己买域名部署网站时 DNS 到底在干什么。

你每天都在用 DNS,只是不知道

你在浏览器地址栏输入 google.com,然后网页就打开了。你有没有想过,浏览器怎么知道 google.com 在哪?

答案是——它不知道。浏览器只认识 IP 地址,不认识域名。在打开网页之前,有一段你看不见的对话在后台发生了,

浏览器,「DNS,帮我查一下 google.com 的 IP 地址。」 DNS,「等一下,我翻一下电话本,找到了,142.250.80.46。」 浏览器,「谢谢,我去连这个 IP。」

这段对话在毫秒级完成,你完全感知不到。但每一次你打开任何网站,这个过程都在发生。

DNS,一句话说清楚

DNS(Domain Name System,域名系统)就是互联网的电话本。它负责把人类好记的域名翻译成机器能读懂的 IP 地址。

DNS 查询流程

你记不住 142.250.80.46,但你记得住 google.com。DNS 就是那个帮你把名字翻译成号码的中间人。

域名和 IP 地址,到底什么关系

先说 IP 地址。每台连上网的服务器都有一个 IP 地址,比如 76.76.21.21。这是服务器在网络上的「门牌号」,数据包就是靠这个地址找到对应服务器的。

但 IP 地址对人类太不友好了。你不可能记住每一个网站的 IP 地址。于是就有了域名——jscodes.cngoogle.combaidu.com,这些是有意义的、好记的名字。

域名是给人看的,IP 地址是给机器用的。DNS 负责在两者之间翻译。

DNS 电话本比喻

就像你的手机通讯录——你存了「妈妈」这个名字,但手机拨号时用的是 138xxxx0000 这个号码。通讯录帮你把名字翻译成号码,DNS 帮浏览器把域名翻译成 IP。

通讯录DNS
联系人名字域名
电话号码IP 地址
通讯录DNS 服务器
你翻通讯录找号码浏览器查 DNS 找 IP
拨号打电话连接 IP 访问网站

DNS 查询的完整过程

刚才说的那段对话是简化版。实际上 DNS 查询经过了好几层,

第一步,浏览器缓存。 浏览器先查自己记不记得这个域名的 IP。如果最近查过,直接用,不用问别人。

第二步,系统缓存。 浏览器不记得,就问操作系统。操作系统也可能记着。

第三步,本地 DNS 服务器。 操作系统也不记得,就问你网络运营商的 DNS 服务器(通常是你路由器配的 DNS)。这个服务器可能缓存了答案。

第四步,递归查询。 如果本地 DNS 服务器也没缓存,它就代替你去问根 DNS 服务器,然后一级一级往下找——根服务器告诉你去问 .com 的服务器,.com 的服务器告诉你去问 google.com 的服务器,最终拿到 IP 地址。

整个过程通常在几十毫秒内完成。拿到 IP 之后,每一层都会缓存一段时间(叫 TTL),下次就不用再查了。

你不需要记住这些层级。 核心理解就一句话——DNS 就是一层层问,谁缓存了答案就直接用,没缓存就往上问,最终拿到 IP。

你部署网站时会碰到 DNS 的地方

你说我又不配置 DNS,跟我有什么关系。其实你每次部署网站都会碰到。

场景一,买域名。 你在阿里云、腾讯云、Namecheap 买了一个域名(比如 jscodes.cn)。买完之后你需要配置 DNS 记录,告诉 DNS 系统「这个域名指向哪个 IP」。

场景二,配置 A 记录。 A 记录就是把域名指向一个 IP 地址。比如 jscodes.cn → 76.76.21.21。你在域名管理后台添加一条 A 记录,DNS 系统就知道该把访问这个域名的用户导向哪个 IP 了。

场景三,配置 CNAME。 CNAME 是把一个域名指向另一个域名。比如你把 www.jscodes.cn 指向 jscodes.cn,这样不管用户输不输 www 都能访问。部署到 Vercel、Cloudflare Pages 时,平台会给你一个域名(如 xxx.vercel.app),你把自己的域名用 CNAME 指过去就行。

场景四,修改 DNS 让网站走 CDN。 前一篇讲 CDN 时提到,接入 CDN 需要修改 DNS 记录,把域名从直接指向源站改为指向 CDN。这就是你在 Cloudflare 后台点几下就能完成的事。

常见疑问

为什么改了 DNS 记录不立即生效?

因为缓存。每一层 DNS 服务器都会缓存旧记录一段时间(TTL)。你改了记录,旧缓存还没过期,用户就被导向旧地址。等 TTL 过期了,新记录才全局生效。TTL 一般设为 1 小时到 1 天。如果你想快速切换,可以提前把 TTL 改短。

域名和网址是一回事吗?

不是。域名是 jscodes.cn。网址(URL)是 https://jscodes.cn/articles/what-is-dns,包含了协议(https)、域名、路径。域名是网址的一部分。

国内域名需要备案是什么意思?

在中国大陆,域名指向大陆服务器的网站需要 ICP 备案。备案是工信部的监管要求,域名注册商会引导你完成。如果用海外服务器(如 Vercel、Cloudflare Pages),一般不需要备案。

小结

概念比喻一句话解释
DNS电话本把域名翻译成 IP 地址
域名联系人名字人类好记的网站地址
IP 地址电话号码机器使用的网络地址
A 记录存号码域名直接指向 IP
CNAME转接分机域名指向另一个域名
TTL号码有效期DNS 缓存过期时间
缓存最近查过的记下来各层 DNS 都会缓存结果

下次再看到「DNS」「域名解析」「A 记录」,你就想——电话本、查号码、存号码。就这么简单。

评论