TapCub 正式上线:统计、分析、客服一个平台免费用
术语表

HAR 文件:是什么、里面有什么、怎么读

HAR 文件是浏览器所有网络请求的 JSON 记录。里面有什么、怎么读耗时、怎么导出、为什么含有敏感数据,以及怎么用它排查统计问题。

陈屿 审核人 许安 又称 HTTP Archive 最后更新 2026 年 11 月 5 日 术语表

一句话回答

HAR(HTTP Archive)文件是浏览器加载网页时网络请求的 JSON 记录,包括 URL、请求头、Cookie、请求体和响应体、状态码以及每个请求的耗时,可从开发者工具导出用于排查问题。

什么是 HAR 文件?

HAR 文件(HTTP Archive,HTTP 归档)是一个 JSON 文件,记录了浏览器在加载或使用网页时发出的每一个网络请求:URL、方法、请求头、Cookie、请求体和响应体、状态码,以及每个请求的耗时分解。浏览器的开发者工具可以导出它,技术支持团队常要它,因为它准确记录了浏览器和服务器之间发生了什么。

这个格式由 Jan Odvarko 和 W3C 网页性能工作组定义,浏览器现在导出的是 1.2 版,文件扩展名是 .har。

HAR 文件里有什么

一段简化的示例:

{
  "log": {
    "version": "1.2",
    "creator": { "name": "WebInspector", "version": "537.36" },
    "pages": [{ "id": "page_1", "title": "https://example.com/pricing" }],
    "entries": [{
      "startedDateTime": "2026-11-06T09:14:03.120Z",
      "time": 199.4,
      "request":  { "method": "POST", "url": "https://example.com/api/v1/pulse", "headers": [], "postData": {} },
      "response": { "status": 202, "headers": [], "content": { "size": 0 } },
      "timings":  { "blocked": 2, "dns": 18, "connect": 31, "ssl": 22, "send": 0.4, "wait": 142, "receive": 6 }
    }]
  }
}
  • pages: 每次页面加载一条。
  • entries: 每个请求一条,按顺序排列,每条有 request、response、cache 和 timings。
  • timings: 每个阶段花了多少毫秒。

怎么读耗时

阶段衡量什么什么时候会很长
blocked在浏览器队列里排队同一域名请求太多、优先级低
dns域名解析新域名、解析服务器慢
connect建立 TCP 连接(含 TLS)新连接、服务器远
sslTLS 握手(包含在 connect 里)新的 HTTPS 连接
send发送请求上传内容大
wait等待响应的头一个字节服务器或后端处理慢,这就是这个请求的首字节时间
receive下载响应响应体大、网络慢

示例里 time = 2 + 18 + 31 + 0.4 + 142 + 6 = 199.4 毫秒,大部分花在 wait 上:服务器用了 142 毫秒才回应。如果一个请求主要耗在 blocked 或 dns 上,问题在页面或网络,而不在服务器。见首字节时间。

怎么导出 HAR 文件

各主流浏览器的步骤差不多:

  1. 打开开发者工具(F12,Mac 上是 Cmd+Option+I),切到 Network(网络) 面板。
  2. 勾选 Preserve log(保留日志),页面跳转后请求也不会被清掉。
  3. 复现问题:刷新页面,按步骤操作一遍。
  4. 导出:在请求列表上右键(或点下载图标),选 Save all as HAR / 导出 HAR。

新版 Chrome 默认导出去敏版本,不包含 Cookie 和授权头;要导出包含敏感数据的版本,需要另外打开一个设置。各浏览器的具体步骤和发送前要检查什么,见怎么导出 HAR 文件。

HAR 文件含有敏感数据

完整的 HAR 文件可能包含浏览器收发的一切:

  • Cookie 和会话令牌,如果还有效,别人可以借此冒充你
  • 授权头和 API 密钥
  • 表单数据,包括录制期间在输入框里打的任何内容
  • 个人数据,出现在 URL、请求体和响应里

发送之前:能用去敏导出就用;在无痕窗口里用测试账号录制;录完退出登录,让会话 Cookie 失效;用文本编辑器打开文件,搜一下令牌和邮箱。只通过官方渠道发给你信任的技术支持团队。

HAR 文件怎么帮你排查统计问题

统计没有数据、数据偏少或重复时,HAR 文件能看出浏览器实际做了什么:

  • 脚本加载了吗? 找统计脚本的请求(TapCub 是 client.js)和它的状态。
  • 数据发出去了吗? 找采集请求(TapCub 是发往脚本同源的 POST /api/v1/pulse)。没有这个请求,说明事件根本没离开浏览器。
  • 被拦截了吗? 显示为被拦截的请求,通常是广告屏蔽器或内容安全策略挡住了,见广告屏蔽器会拦截 TapCub 吗。
  • 服务器怎么回的? TapCub 的采集端对入库的请求和被丢弃的请求(比如域名没登记)都返回 202,所以要结合实时报表一起看,见检查安装。
  • 有没有发了两次? 每次浏览有两个采集请求,通常是代码装了两遍。

查看 HAR 文件的工具

  • 浏览器开发者工具可以把 HAR 导入 Network 面板,用熟悉的界面查看。
  • Google 管理工具箱里的 HAR Analyzer 能可视化耗时,也能隐去部分字段。
  • 任何 JSON 查看器或文本编辑器都能用来搜索。

参考资料

这个解释清楚吗?

我们会根据反馈修改和补充这篇内容。

陈屿

技术工程师

专注统计代码、SDK 与接口集成文档,从接入验证到问题排查,帮助开发者更顺畅地完成实施。

常见问题

常见追问

大家看完定义后最常问的几个问题。

还有其他问题?

直接和 TapCub 团队聊聊——工作日通常几小时内回复。

HAR 文件有什么用?

排查网页问题:技术支持和工程团队用它查看浏览器发出了哪些请求、哪些失败了、时间花在哪里。

HAR 文件可以随便发给别人吗?

要小心。完整的 HAR 可能包含 Cookie、会话令牌和表单数据。用去敏导出,在无痕窗口录制,录完退出登录。

怎么打开 HAR 文件?

导入浏览器开发者工具的 Network 面板,用 Google HAR Analyzer 这类查看器,或者直接用文本编辑器打开,因为它是 JSON。

HAR 里的 wait 是什么意思?

从发出请求到收到响应头一个字节的时间,也就是这个请求的首字节时间。wait 很长通常是服务器的问题。

在你自己的网站上看这个数字

加一行脚本就能开始,网站和 App 都能接,几分钟内就能看到第一批报表。

看清数据,找到增长。

每一次点击,都有数据依据。装好一行代码,1 分钟看到第一批数据。

无需信用卡 · 统计与客服都有免费版 · 统计无 Cookie