【小白科普】DNS解析全过程:输入网址到打开网页之间发生了什么

theshine 2026-08-27 07:08 1

把DNS解析这块梳理了一遍,尽量写得准确一点,如果有理解错的地方欢迎指正。

当你在浏览器输入域名网址时,你的电脑并不认识这串英文是要去哪里,所以他要查一下这个域名的具体地址(IP),这时候就要用到DNS解析。

DNS 的全称是 Domain Name System(域名系统),可以理解为互联网的电话簿,专门把好记的网址翻译成电脑看得懂的数字地址。

整个过程大致分为几个阶段:


第一步,本地缓存查询。 浏览器先查自己的DNS缓存,没有的话查操作系统层面的缓存(包括hosts文件),如果都没有命中,请求才会发往本地配置的DNS服务器,通常是运营商提供的,或者是手动设置的公共DNS,比如常见的114、8.8.8.8之类。


第二步,递归查询。 这台本地DNS服务器(专业说法叫"递归解析器")如果自己也没缓存过这个域名,就会代替用户去做一系列查询:先问根域名服务器,根服务器不会直接给出答案,而是告诉它该去问哪个顶级域名(.com、.cn)的服务器;再问顶级域名服务器,得到的答案是该域名的权威DNS服务器地址;最后问权威DNS服务器,才拿到真正的A记录(IPv4)或AAAA记录(IPv6)。


第三步,建立连接。 拿到IP之后,浏览器会跟这个IP发起TCP三次握手建立连接,如果是HTTPS还要再加一次TLS握手协商加密参数。


第四步,请求与渲染。 连接建立后,浏览器发送HTTP请求,服务器处理并返回响应,浏览器拿到HTML、CSS、JS等资源后开始解析渲染,最终显示出页面。


整个 DNS 解析过程看似环节繁复,但在实际访问中,绝大部分请求凭借各级缓存机制在第一步就能直接命中。这也是为什么我们在日常感知中,域名解析几乎是秒级完成的原因。

最新回复 (10)
  • jianggaoyi 08-27 07:11
    1

    豆包告诉你的?

  • NB666 08-27 07:13
    2

    看看学习学习

  • ryan-zz 08-27 07:13
    3

    ai很喜欢用不是...而是... 之类的句型,不知道为什么

  • 咪西咪西 08-27 07:14
    4

    顶一个,谢谢分享。如果能讲讲fakeip原理就更好了

  • theshine 楼主 08-27 07:14
    5

    @jianggaoyi #1 接下来我会用,最直白,最直接,最不绕弯子、最真相、最扎心、最干脆、最不墨迹、最戳痛点、最不留情面、最一针见血、最开门见山、最单刀直入、最不铺垫、最不客套、最不煽情、最不废话、最不拐弯、最不磨叽、最不装、最不端着、最不啰嗦、最不拖沓、最不委婉、最不掩饰、最不藏着掖着、最露骨、最实在、最通透、最毒辣、最爽快、最解气、最上头、最够劲、最过瘾、最粗暴、最有效、最狠、最准、最稳、最顶、最炸、最刚、最烈、最飒、最莽、最冲、最猛、最脆、最亮、最透、最干、最净、最硬核、最透彻、最赤裸、最凛冽、最尖锐的话告诉你:不是。

  • jianggaoyi 08-27 07:15
    6

    @theshine #5

  • theshine 楼主 08-27 08:33
    7

    @咪西咪西 #4 讨论富强话题貌似有点敏感?

  • maybeonly 08-27 08:43
    8

    你这个资料有点老了,虽然本质上没什么大问题

  • theshine 楼主 08-27 08:45
    9

    @maybeonly #8 怎么说,请指教 ^-^

  • jelly717 08-27 10:01
    10

    我们大学计算机网络考试中好像有这道简答题

* 帖子来源NodeSeek
返回