DNS 入门:输入网址后,浏览器先去问了谁
每天输入网址、按下回车,页面很快就出来了。但浏览器只认识一个名字,它怎么知道要去哪台服务器拿页面?答案就藏在 DNS 里。
一、域名是什么:给服务器起个好记的名字
域名是给服务器起的一个好记的名字。服务器在网络里的真实地址是一串 IP,比如 121.37.63.1。域名就是把难记的数字换成好记的名字。域名从右往左分层:com、cn 是顶级域,huaweicloud 是二级域,www 是子域。记住:域名是名字,不是地址;真正用来连接服务器的,永远是 IP 地址。
二、DNS 解析流程:递归查询与迭代查询
输入网址后,浏览器并不知道它对应的 IP,于是发起一次 DNS 查询,分为两段。
递归查询:发生在你和本地 DNS 服务器之间。你的电脑问本地 DNS:“www.huaweicloud.com 的 IP 是多少?”本地 DNS 负责把答案查出来给你。
迭代查询:发生在本地 DNS 服务器和其他 DNS 服务器之间。根服务器指路到 com 的顶级域服务器,顶级域服务器再指路到 huaweicloud.com 的权威服务器,最后权威服务器给出 IP,本地 DNS 把答案带回给你。
总结:你这边是“一次问到底”的递归,本地 DNS 那边是“一级一级找”的迭代;拿到 IP 后,浏览器才真正建立连接、请求页面。
三、常见记录类型:A、AAAA、CNAME、TXT
DNS 里保存着一条条记录,最常用的有四种:
- A 记录:把域名指向一个 IPv4 地址,比如 www 指向 121.37.63.1,最常见;
- AAAA 记录:和 A 记录对应,但指向 IPv6 地址;
- CNAME 记录:把一个域名指向另一个域名,相当于起别名,解析时再去查那个域名的 A 记录;
- TXT 记录:存放一段文本,常用于域名所有权验证和邮件验证(SPF 等)。
怎么选?看你要指向的是 IP、另一个域名,还是一段文本。
四、DNS 缓存与 TTL:为什么改了记录不立即生效
DNS 很有“记性”。浏览器、操作系统、本地 DNS 都会缓存查过的记录,下次直接用缓存,不用重新跑完整流程。
每条记录都有一个 TTL(生存时间),单位是秒,它规定这条缓存最多能用多久。TTL 到期后缓存失效,下一次访问会重新去查。这也解释了为什么刚改了解析,访问的还是旧 IP——某一级缓存还没过期。改解析前先看 TTL,改完等缓存过期再验证。
五、新手常见误区
误区一:解析慢就是网速慢。 解析只是问路,加载慢还可能是服务器或带宽的原因。
误区二:解析生效就等于全世界生效。 各地缓存过期时间不一样,生效是逐步扩散的。
误区三:CNAME 和 A 记录随便混用。 同一域名下 A 记录和 CNAME 不能共存,指向别名用 CNAME,指向 IP 用 A 记录。
误区四:改了记录不做验证。 改完后用 ping 或在线 DNS 查询工具验证解析结果,不要只凭感觉。
结语
域名是名字,DNS 是翻译官,TTL 是翻译结果的有效期。弄懂递归与迭代、记录类型和缓存,下次“网站打不开”,就知道该从哪一级排查。
- 点赞
- 收藏
- 关注作者
评论(0)