浏览器访问一个网址的过程

  1. DNS 解析
  • 浏览器首先会解析出域名,然后查找域名对应的 IP 地址。依次访问浏览器缓存 → 操作系统缓存 → hosts 文件 → 本地 DNS 服务器 → 根域名服务器 → 顶级域名服务器 → 权威 DNS 服务器,直到得到 IP 地址。
  1. 建立 TCP 连接
  • 浏览器通过 DNS 解析得到服务器的 IP 地址后,会通过 TCP 协议与服务器建立连接。这个过程包括 TCP 的三次握手。
  1. 发送 HTTP 请求
  • 连接建立后,浏览器会向服务器发送 HTTP 请求。请求中包括请求行(方法、URL、协议版本)、请求头部(如 Accept、Cookies 等)、请求体(对于 POST 请求)等信息。
  1. 服务器处理请求
  • 服务器收到请求后,会根据请求的内容进行处理,可能涉及到数据查询、动态页面生成、文件读取等操作。
  1. 服务器发送响应
  • 服务器处理完请求后,会将响应的内容通过 HTTP 响应发送回客户端。响应包括状态行(协议版本、状态码)、响应头部(如 Content-Type、Content-Length 等)、响应体(HTML 页面、图片、视频等)。
  1. 浏览器解析渲染
  • 浏览器接收到响应后,会根据响应的内容进行解析。如果是 HTML 页面,则解析 HTML 结构,构建 DOM 树;解析 CSS 文件,生成 CSSOM 树;将 DOM 树和 CSSOM 树合并生成渲染树;根据渲染树计算每个节点的布局信息;最后将页面内容显示在用户界面上。
  1. 连接结束
  • 页面加载完成后,浏览器会保持 TCP 连接一段时间,以便快速获取页面中的其他资源(如图片、脚本、样式表等),或者关闭连接。
相关推荐
ZHOUZAIHUI7 小时前
WSL(Ubuntu24.04) 安装PostgreSQL
开发语言·后端·scala
i02088 小时前
SpringBoot 项目配置
java·spring boot·后端
月屯9 小时前
后端go完成文档分享链接功能
开发语言·后端·golang
Franciz小测测9 小时前
Python连接RabbitMQ三大方案全解析
开发语言·后端·ruby
海梨花9 小时前
又是秒杀又是高并发,你的接口真的扛得住吗?
java·后端·jmeter
Livingbody9 小时前
win11上wsl本地安装版本ubuntu25.10
后端
用户83562907805110 小时前
如何在 C# 中自动化生成 PDF 表格
后端·c#
星释10 小时前
Rust 练习册 44:Trait 中的同名函数调用
开发语言·后端·rust
京东零售技术10 小时前
并发丢数据深度剖析:JED的锁机制与事务实战踩坑及解决方案
后端
f***686010 小时前
问题:Flask应用中的用户会话(Session)管理失效
后端·python·flask