输入网址到看到页面只有0.3秒,这期间到底发生了什么?

输入网址到看到页面只有0.3秒,这期间到底发生了什么? 修仙引入你在浏览器输入xren.ren回车0.3 秒后页面亮起。这 0.3 秒里你的电脑和千里之外的服务器完成了一次「传送」。修仙世界里有传送阵——甲地阵法上灵力一催动人就到了乙地。但传送从来不是瞬间完成的它需要阵纹、坐标、灵气、驿站四样东西配合。网络就是计算机世界的传送阵TCP/IP 就是阵纹IP 是坐标数据包是灵气路由器是驿站。今天讲清楚这套传送阵到底怎么工作——为什么输入一个网址就能看到页面为什么「三次握手」是三次而不是两次为什么 HTTPS 比 HTTP 安全。筑基四座地基最后一座计算机网络。硬核主体传送阵的全套阵法2.1 传送阵的四层结构——TCP/IP 模型要修传送阵先得懂阵法分层。TCP/IP 模型把网络通信分成四层每层各司其职层层封装。修仙者可以把每一层理解为一道独立的法阵层级修仙类比技术现实职责应用层传信内容写什么信HTTP、DNS、SMTP定义传输的内容格式传输层传信方式挂号/平信TCP、UDP决定可靠还是求快网络层传送路线送到哪个城IP、路由协议跨网络寻址和路径选择链路层实际搬运驿站接力以太网、WiFi物理层面的位传输为什么要分层因为分层才能解耦。应用层只想知道「我要发什么」不关心「怎么送过去」链路层只想知道「怎么把这一段送出去」不关心「送给谁」。各管各的互不干涉。数据发送时是层层封装接收时是层层解封装。你发一个「Hello」实际传输是这样的你发送 Hello → 应用层HTTP 报文 GET / HTTP/1.1\r\n... 传输层TCP 段 [源端口|目标端口|序号|GET /...] 网络层IP 包 [源IP|目标IP|TTL|TCP段] 链路层以太网帧 [源MAC|目标MAC|IP包|CRC] → 网线/WiFi 发出 对方接收 ← 链路层剥掉 MAC 头 → 网络层剥掉 IP 头 → 传输层剥掉 TCP 头 → 应用层拿到原始报文每一层都套上了一层「信封」信封上写着这一层需要的地址信息。四层信封全剥掉里面就是你真正要传的内容。数据发送流程应用层(HTTP) → 传输层(TCP,端口) → 网络层(IP,IP地址) → 链路层(以太网,MAC) → 物理传输数据接收流程链路层(校验MAC) → 网络层(校验IP) → 传输层(重组数据) → 应用层(解析HTTP)这四层就像四道嵌套的法阵——你站在外面只看到外圈但每一圈都有自己的阵纹和功能。修网络先把这四层搞清楚后面所有协议都在这四层框架上长出来的。2.2 TCP 三次握手——为什么是三次TCP 是传输层最常用的协议要用它传送数据前得先和对方建立连接。建立连接的过程就是 TCP 三次握手。为什么叫「三次」因为要交换三个报文才能确认双方收发能力都没问题步骤修仙类比TCP 报文第一次「你能听到我吗」Client → SYN → Server第二次「我能听到。你能听到我吗」Server → SYNACK → Client第三次「我也能听到。开传吧。」Client → ACK → Server看着像废话但每次握手都有明确目的第一次Client 发 SYN问「你在线吗我要和你建立连接」。第二次Server 回 SYNACK说「我在。我也想和你建立连接」。第三次Client 回 ACK说「好连接建立」。TCP 三次握手流程Client → Server: SYN seqx 你能听到我吗Server → Client: SYN seqy, ACKx1 我能听到。你能听到我吗Client → Server: ACKy1 我也能听到。开传。→ 连接建立开始传送数据关键问题为什么不是两次假设只用两次Client 发「你能听到吗」→ Server 回「能」→ 直接开始传数据。但这个「你能听到吗」可能是上次延迟到达的旧报文网络环境复杂IP 包可能走不同的路径到达顺序完全没保证。如果是旧报文Client 早就想断开连接了但 Server 还以为是新连接回了「能」就开始传送数据——结果 Client 根本没在接收这数据就丢了。第三次握手就是为了排除「历史报文」的干扰Server 在收到第三次 ACK 之前不进入「已连接」状态不分配资源不开始传数据。只有第三次 ACK 到达Server 才确认「对方现在确实想和我连接」。至于为什么不是四次——三次已经能同时确认「Client 能发、Server 能收、Server 能发、Client 能收」四个能力。四次纯属浪费灵气没有额外信息。实战经验大厂的 TCP 三次握手相关面试题常考的不是背诵而是「为什么」——为什么不是两次、为什么 TIME_WAIT 要等 2MSL、半连接队列是什么。这些「为什么」都跟修真世界的资源分配有关连接是稀缺资源不验证清楚就分配资源很快耗尽传送阵就废了。2.3 DNS——域名解析就是查传送阵地址簿传送阵只知道灵脉坐标IP 地址不知道宗门名字域名。但你只记得xren.ren不记得1.2.3.4这种 IP。DNSDomain Name System就是传送阵地址簿——把宗门名字翻译成灵脉坐标。查询过程是分层递进的本地缓存先问本机的 DNS 缓存之前查过的——驿站记录本本地 DNS 服务器问运营商提供的 DNS——本地驿站长根 DNS问全球 13 组根 DNS——京城总驿顶级域 DNS根 DNS 告诉你「.ren 的事去问 .ren 顶级域」——.ren 省驿权威 DNS.ren 顶级域告诉你「xren.ren 的事去问 xren.ren 的权威 DNS」——xren 宗门驿拿到 IP权威 DNS 返回 IP 地址并被各级缓存下来TCP 三次握手流程Client → Server: SYN seqx 你能听到我吗Server → Client: SYN seqy, ACKx1 我能听到。你能听到我吗Client → Server: ACKy1 我也能听到。开传。→ 连接建立开始传送数据每一步都可能成为性能瓶颈DNS 慢检查/etc/hosts配置、本地 DNS 缓存命中率TCP 慢长连接复用HTTP keep-alive能省掉重复握手TLS 慢TLS 1.3 比 TLS 1.2 快Session Ticket 能恢复会话HTTP 慢HTTP/2 多路复用、HTTP/3 基于 QUIC服务器处理慢数据库慢查询、应用代码逻辑渲染慢DOM 太深、JS 阻塞、CSS 选择器太复杂实战心法排查性能问题先看 Network 面板定位到具体步骤再深挖。很多人以为「页面慢 服务器慢」其实很多时候是前端渲染慢或者 DNS 配置错。筑基期你不需要记住每个协议的所有字段但要能在脑子里跑通这个完整链路。这是网络地基的核心知道一次请求从哪儿出发、经过哪些驿站、怎么到达目的地。修仙术语对照表修仙术语技术现实本篇详解传送阵网络协议族TCP/IP 等全篇主线四层法阵TCP/IP 四层模型§2.1四层信封数据封装/解封装§2.1传音通道TCP 连接§2.2传音三次确认TCP 三次握手§2.2历史报文干扰网络中延迟到达的旧 SYN 包§2.2传送阵地址簿DNS 域名解析系统§2.3京城总驿/省驿/宗门驿根 DNS / 顶级域 DNS / 权威 DNS§2.3传信格式HTTP 协议§2.4身份令牌Cookie / Session§2.4火漆密信HTTPSHTTP TLS 加密§2.4传信全流程从 URL 输入到页面渲染§2.5状态码HTTP Status Code200/404/500§2.4想查全系列术语看 术语词典。突破条件筑基第四座地基计算机网络筑成标准能画出 TCP/IP 四层模型并说出每层职责能解释 TCP 三次握手为什么不是两次答防历史报文干扰能描述 DNS 解析的完整流程本地缓存 → 根 → 顶级域 → 权威知道 HTTP 请求/响应的基本格式请求行/状态行、Header、Body能说清 Cookie / Session / Token 的区别和使用场景能描述从输入 URL 到页面渲染的完整链路至少 7 个步骤最后一条是关键。当你被问到「这个接口为什么慢」时能从 DNS、TCP、TLS、HTTP、服务器处理、TCP 关闭六个层面逐一排查——恭喜网络地基彻底筑成。四座地基都筑完数据结构与算法、操作系统、数据库、计算机网络筑基圆满。下一篇进入金丹期——从「懂各部分原理」到「理解各部分怎么串起来」。下期预告 互动下一篇【金丹·09】编译器对你代码做了什么——从源码到机器语言的「功法翻译」你写的int x 1 2CPU 不认识。CPU 只认识 0 和 1。编译器怎么把人类语言翻译成机器语言词法分析、语法分析、语义分析、中间代码、优化、目标代码生成——这是金丹期的入门必修。编译过程就是修真世界的「功法翻译」——从功法典籍高级语言翻译成灵气运行的微操指令机器码。现在问你 修真考你你能完整说出输入https://xren.ren后浏览器做了什么吗试试从 DNS 开始一步步写到页面渲染评论区打卡看谁的链路最完整。 话题你在面试/工作中遇到过哪些「网络相关」的问题最让你懵的是哪道比如「TIME_WAIT 为什么等 2MSL」「HTTPS 握手比 HTTP 慢多少」——评论区分享一起拆招。 关注玄芯散人修炼不迷路。下一篇带你看编译器怎么「翻译功法」。我是玄芯散人带你从炼气修到大乘。本文是「码农修仙传」系列第8篇。系列导航见 xren.ren