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

  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 连接一段时间,以便快速获取页面中的其他资源(如图片、脚本、样式表等),或者关闭连接。
相关推荐
unirst198500720 分钟前
搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程
开发语言·后端·golang
古城小栈1 小时前
Rust 中的 内存对齐
开发语言·后端·rust
我爱娃哈哈1 小时前
SpringBoot + 决策表(Decision Table)+ Excel 导入:运营人员直接配置复杂规则逻辑
后端
Cache技术分享1 小时前
324. Java Stream API - 实现 Collector 接口:自定义你的流式收集器
前端·后端
三水不滴1 小时前
SpringBoot + Redis 滑动窗口计数:打造高可靠接口防刷体系
spring boot·redis·后端
若水不如远方1 小时前
分布式一致性原理(四):工程化共识 —— Raft 算法
分布式·后端·算法
老迟聊架构1 小时前
深入理解低延迟与高吞吐:从架构哲学到技术抉择
后端·架构
hrhcode1 小时前
【Netty】一.Netty架构设计与Reactor线程模型深度解析
java·spring boot·后端·spring·netty
三水不滴1 小时前
千万级数据批处理实战:SpringBoot + 分片 + 分布式并行处理方案
spring boot·分布式·后端
会算数的⑨1 小时前
Spring AI Alibaba 学习(三):Graph Workflow 深度解析(下篇)
java·人工智能·分布式·后端·学习·spring·saa