HAR 与请求瀑布是什么
HAR(HTTP Archive)是一种 JSON 格式的请求归档,记录页面加载期间全部请求的时间线细节。用浏览器 DevTools 的 Network 面板可导出 HAR;分析时按域名聚合,看瀑布图中的串行等待链、关键路径请求数量与体积、第三方域名的连接与 DNS 开销,找出真正拖慢页面的环节。
基本信息
| 文件格式 | JSON,含每个请求的头信息、响应与 timings 分段 |
|---|---|
| 导出方式 | 浏览器 DevTools 的 Network 面板导出 |
| timings 字段 | blocked、dns、connect、ssl、send、wait、receive |
| 分析路径 | 先看关键路径请求数与体积,再看串行等待与第三方开销 |
| 常见用途 | 性能优化取证与缺陷报告附件 |
| 合规提醒 | 外发前脱敏 Cookie、令牌与用户数据 |
timings 分段读法
timings 分段读法
blocked:排队等待(连接数限制、优先级调度)
dns / connect / ssl:域名解析与建连开销
send / wait / receive:请求发出、等待首字节、内容接收
# 同一域名大量重复建连 -> 检查连接复用是否生效典型使用场景
- 前端性能优化:定位首屏关键路径上的慢请求。
- 第三方治理:评估外部脚本、字体、统计资源的时间占比。
- 缺陷报告:将 HAR 与复现步骤一并提交,帮助后端定位。
- 版本对比:同一页面优化前后导出 HAR,对比关键指标。
- 网络问题排查:区分 DNS、连接、TLS 与等待响应各段耗时。
- 缓存策略验证:对比强刷与正常加载的请求次数差异。
timings 字段读法
| 字段 | 含义 | 异常表现 |
|---|---|---|
| blocked | 等待连接或调度的耗时 | 数值大:并发连接受限或优先级低 |
| dns / connect / ssl | 解析与建连耗时 | 反复出现大数:连接未复用 |
| send | 请求发送耗时 | 通常很小,异常时查请求体大小 |
| wait | 等待响应首字节(TTFB) | 数值大:服务端处理慢 |
| receive | 内容接收耗时 | 数值大:响应体大或带宽受限 |
瀑布图的重点是依赖关系:总时长相同,串行等待链与并行请求的优化空间完全不同。
HAR 可能包含 Cookie、令牌与用户数据,外发前先脱敏:至少清理请求头中的 Cookie 与 Authorization。
单个 HAR 只是一次样本:重要结论至少复测两次,排除网络抖动与随机因素。