.har · .json(Chrome / Firefox / Safari DevTools 导出的 HTTP Archive)
| # | 方法 | URL | 状态 | 类型 | 大小 | 耗时 |
|---|
HAR 文件分析 把 Chrome / Firefox / Safari DevTools 导出的 .har 文件直接拖进浏览器,立刻看到所有请求的列表、状态分布、耗时排行、Header / 请求体 / 响应体详情,并支持脱敏导出——剥掉 Authorization / Cookie / 请求体后再分享给同事或客服。整个工具纯前端运行,HAR 文件不出本地。
HAR(HTTP Archive)就是一份 JSON:log.entries[] 数组里每条是一次请求。本工具直接 JSON.parse 然后排版渲染,不需要任何后端,不需要安装任何扩展。导出 HAR 是浏览器内置的功能,但 DevTools 里看 HAR 体验并不好——已经发生过的请求按时间排,没有跨字段搜索、没法持久化筛选条件、想分享给同事还得手动删敏感字段。本工具就是为这个场景设计的。
HAR 文件常常带着完整的鉴权状态:登录后的 Cookie、Authorization Bearer token、表单 POST 体里的密码、响应里的 PII。任何把 HAR 上传到第三方分析服务的工具都是高危操作——一份生产环境 HAR 等于一段时间内的会话凭证。本工具:
加载 HAR 后页面分四块:顶部信息条(文件名 + 请求总数 + 来源浏览器 + 文件大小 + 脱敏导出 / 关闭)、统计卡片(总请求 / 总流量 / 总耗时 / 最慢请求 / 4xx 数 / 5xx 数)、过滤栏(搜索 + 状态分组 chip + 类型下拉 + 命中数)、请求表(# / 方法 / URL / 状态 / 类型 / 大小 / 耗时条)。点任意请求弹出详情侧栏,七个 tab:概览 / 请求头 / 响应头 / 请求体 / 响应体 / Cookies / Timing。Esc 或点击遮罩关闭,跟原生 DevTools 操作差不多。
只想看一段 JSON 用 JSON 工具(高亮 + JSONPath 过滤);想跑数据分析用 DuckDB SQL 工作台 或 Parquet 预览;要美化 SQL / JS 用 代码格式化。整条「拿到一份数据 → 先看一眼 → 做分析 → 给结果」的链路都在 365 工具箱里,不需要离开。
Chrome / Edge:F12 打开 DevTools → Network → 任意请求右键 → Save all as HAR with content(含响应体)或 HAR (without content)。Firefox:DevTools → 网络 → 右上角齿轮 → 「保存所有为 HAR」。Safari:开发者菜单 → Web 检查器 → 网络 → 导出。导出前别忘了勾选 Preserve log(保留日志),否则跳转就清空了。
100-300 MB 以内比较舒服。HAR 是 JSON,浏览器里整个 JSON.parse 一次性加载,内存占用约 2-3 倍文件大小。响应体 base64 编码后体积膨胀显著,超过 500 MB 的 HAR 建议先用 jq 过滤再导入。表格用 3000 条上限渲染,超出后用搜索/筛选缩小范围即可。
敏感 Header 全部替换成 <redacted>:Authorization / Cookie / Set-Cookie / Proxy-Authorization / X-API-Key / X-Auth-Token / X-CSRF-Token / X-Session-Token / X-Access-Token / X-Amz-Security-Token。请求 / 响应 cookies 数组清空。请求体 postData.text 与响应体 content.text 整体替换为 <redacted>。_initiator 调用栈(含源文件路径)一并删掉。其它字段(URL、状态、耗时、headers 列表名等)原样保留,足以看出"哪条请求慢、错在哪",但不会泄漏凭证。
不会。整个工具是一个静态页面,文件用 File.text() 读到内存里 JSON.parse,没有任何网络请求。即使首次加载完成,断网也能继续用。HAR 文件常含 Cookie / Authorization / 个人订单数据,所以本工具的核心定位就是「本地解析、不上传、并提供脱敏导出方便分享」。
导出 HAR 时 Chrome 默认有两个选项:Save all as HAR with content 会保留响应体(文件大),HAR (without content) 不带响应体(文件小)。如果你拿到的是后者,工具就只能显示请求/状态/耗时/Header,看不到响应体内容——回去重新用「with content」导出。Firefox 默认保留响应体;Safari 取决于具体版本。
Blocked:请求被排队/被代理阻塞的时间(Chrome 同源连接数上限是 6)。DNS:域名解析。Connect:TCP 三次握手。SSL:HTTPS 握手(含 Connect 的一段,HAR 规范里 ssl 已包含在 connect 内)。Send:发送请求字节。Wait:从最后一个字节发出到第一个响应字节回来——这段就是「TTFB」(time to first byte),多数情况下是后端处理耗时。Receive:下载响应体的时间。排查慢请求时先看 wait(后端慢)还是 receive(响应体大/带宽差)。
HAR 是 W3C 草案标准,核心字段所有浏览器都兼容:request/response/timings/cookies/content。差别在扩展字段:Chrome 加了 _resourceType(document / xhr / script…)和 _initiator(调用栈);Firefox 没有 _resourceType,本工具会回退到 MIME 类型推断。所以分类列在 Firefox HAR 里可能不如 Chrome 精准,但请求列表/耗时/Header 完全一致。