当我们在浏览器地址栏输入URL并按下回车后背后会经历一系列复杂的步骤最终将网页内容呈现在眼前整个过程可以分为以下几个阶段一、URL解析与处理浏览器首先会判断输入的内容是否为合法URL如果是域名如www.example.com会先在本地缓存、系统hosts文件中查找对应的IP地址如果没有找到则进入DNS域名解析若URL包含路径、查询字符串等如www.example.com/article?id123浏览器会将其拆分明确请求的资源位置。二、DNS域名解析浏览器向本地DNS服务器发起请求查询域名对应的IP地址 若本地DNS服务器没有缓存它会向根域名服务器、顶级域名服务器如.com服务器、权威域名服务器依次查询最终获取目标服务器的IP地址。三、TCP建立连接(三次握手)浏览器通过IP地址与目标服务器建立TCP连接1. 客户端发送SYN包请求建立连接2. 服务器返回SYNACK包确认请求并同步序列号3. 客户端发送ACK包确认连接建立。此处具体见TCP/IP博客四、发送HTTP/HTTPS请求浏览器向服务器发送HTTP请求或HTTPS的加密请求请求中包含1.首行:请求方法如GET、POST、请求路径、HTTP版本2.请求头如User-Agent、Cookie、Host等3.请求体若为POST请求包含提交的数据。*如果是HTTPS还会先进行TLS握手完成加密密钥协商确保通信安全。五、服务器处理请求并返回响应1.服务器接收到请求后根据请求路径和参数由后端程序处理逻辑查询数据库或读取静态文件。2.服务器生成HTTP响应中包含状态码如200 OK表示成功404 Not Found表示资源不存在等响应头如Content-Type、Content-Length等响应体HTML、CSS、JS、图片等资源内容六、浏览器接收并解析响应浏览器接收到响应后先根据Content-Type判断资源类型如果是HTML开始解析HTML构建DOM树 解析过程中遇到CSS、JS、图片等资源会发起额外的请求如CSS文件、JavaScript脚本、图片资源同时解析CSS构建CSSOMCSS对象模型将DOM树与CSSOM结合生成渲染树七、页面渲染与展示浏览器根据渲染树进行布局计算每个元素的位置和大小然后进行绘制将元素的颜色、样式等绘制到屏幕上最后进行合成将不同图层合并最终展示完整的页面。八、TCP断开连接四次挥手页面加载完成后客户端与服务器通过四次挥手关闭TCP连接释放资源。九、总结整个过程可以概括为URL解析 -DNS解析 -TCP建立连接 -HTTP请求 -服务器响应 -浏览器接收并解析 -页面渲染并展示 -TCP断开连接