一、什么是域名
定义
域名(Domain Name)就是网站的“名字”,它本质上是对 IP 地址 的一种代替。
IP 地址是由数字组成的,例如
110.242.68.4
,人类记起来很麻烦;域名更像“通讯录的联系人”,方便记忆。比如:
www.baidu.com
→ IP:110.242.68.4
www.google.com
→ IP:142.250.72.36
为什么需要域名
人记住“baidu.com”要比记住“110.242.68.4”容易得多。
如果没有域名,你访问网站时必须输入 IP,很不友好。
域名系统的存在让互联网像一个 电话簿,输入名字就能找到号码。
域名的层级结构(从右往左看)
根域(
.
):最顶层,一般省略不写。
在平常写域名的时候,这个点是省略掉的。
比如:
www.baidu.com.
才是完整的写法,最后的.
代表根域。但我们习惯写成
www.baidu.com
。顶级域名(TLD):例如
.com
、.cn
、.org
,就像“大类”。二级域名:例如
baidu.com
中的baidu
。子域名(主机名):例如
www.baidu.com
中的www
。
👉 域名就像地址:国家(根域) → 省份(顶级域) → 城市(二级域) → 具体街道(子域名)。
二、什么是域名解析
域名解析(DNS Resolution):把域名转换成对应的 IP 地址的过程。
解析依赖 DNS(Domain Name System,域名系统)。
可以理解为:你输入“名字”,DNS 会帮你查到“号码”。
三、域名解析的完整流程
假设你在浏览器输入:
www.baidu.com
1. 浏览器缓存
浏览器先查自己有没有保存过
www.baidu.com
的 IP。有的话直接用,没有再往下走。
2. 操作系统缓存
系统也有 DNS 缓存,如果以前查过,就直接返回。
在 Windows 下可以用
ipconfig /displaydns
查看。3. Hosts 文件
系统还会检查本地的
hosts
文件。这是一个人工写的“固定映射表”,比如:
127.0.0.1 localhost 110.242.68.4 www.baidu.com
如果这里有配置,直接使用。
4. 本地域名服务器(Local DNS Server)
如果本地没有结果,系统会把请求发给 本地域名服务器(一般是运营商或公司的 DNS 服务器)。
这个服务器就像一个“代理”,帮你去问别人。
如果它有缓存,会直接告诉你;如果没有,就要去上级查询。
5. 向根域名服务器查询
根域名服务器是什么?
它是全球互联网的“总目录”,知道所有顶级域名(如
.com
、.cn
)该找谁管。本地 DNS 问根服务器:
www.baidu.com
的 IP 是多少?根服务器不会直接给答案,而是说:去找
.com
顶级域名服务器。6. 向顶级域名服务器查询
顶级域名服务器是什么?
它负责管理某个顶级域(TLD),例如
.com
服务器负责所有以.com
结尾的域名。本地 DNS 问
.com
服务器:www.baidu.com
的 IP 是多少?
.com
服务器说:我不直接管,但我知道baidu.com
的权威域名服务器地址。7. 向权威域名服务器查询
权威域名服务器是什么?
它才是最终掌管某个具体域名的服务器,保存着真正的解析记录。
本地 DNS 问
baidu.com
的权威服务器:www.baidu.com
的 IP 是多少?权威服务器返回:
110.242.68.4
。8. 返回结果并缓存
本地 DNS 服务器把结果缓存,并返回给用户电脑。
电脑系统缓存后,传给浏览器。
浏览器拿到 IP → 开始和百度的服务器通信。
四、DNS 查询方式
递归查询:你问一个人,他帮你一直问下去,直到拿到答案。
迭代查询:别人只告诉你“去找谁问”,由你自己继续查。
👉 在 DNS 解析中:对用户来说是 递归查询(你只管等结果)。
本地 DNS 向根/TLD/权威服务器问时是 迭代查询。
五、总结
域名 就是 IP 的“别名”,方便记忆。
域名解析 就是把域名翻译成 IP 地址的过程。
解析顺序:
浏览器缓存 → 系统缓存 → Hosts 文件 → 本地域名服务器 → 根服务器 → 顶级域名服务器 → 权威服务器。各服务器作用:
根域名服务器:知道顶级域在哪里。
顶级域名服务器:知道某个域名(如 baidu.com)的权威服务器在哪里。
权威域名服务器:存放最终答案(域名 → IP 的映射)。