Skip to content

7.6 网络面板(Network)

网络面板用于展示和处理所有的网络请求。在前端开发过程中,前端与后端的接口对接需要频繁地处理网络数据,网络面板帮助我们跟踪与分析网络数据,调试网络与数据交换的情况。

网络面板从上倒下依次划分为三个区域:操作区域、过滤区域、主体区域,如图 8-32 所示。

7.6.1 捕获网络请求

默认情况下,打开网络面板并刷新页面,所有网络请求就会被记录下来,可以在主体区域看到网络请求列表。网络请求列表中包含许多关键字,每个字段含义如下。

  1. 名称

名称是截取了请求 URL 的最后部分作为关键字展示,用于简单区分不同的请求地址。点击某条请求的名称,会打开这条请求的详情面板,在这里可以查看完整的请求地址以及其他详细的请求信息。

  1. 状态

状态是指请求的 HTTP 网络状态,常见状态如 200、500 等,不同的网络状态表示该条请求的成功与否。在请求结果返回之前,默认状态是 pedding(表示请求中),请求结束才会有具体的返回码。

网络请求状态码是计算机通用码,非浏览器独有。2xx 表示请求成功、4xx 表示请求错误、5xx 表示服务器错误。

  1. 类型

不同的资源会显示不同的请求类型。如果请求目标是在 HTML 中加载的网络资源,可以分为以下几类:

  • document:整个 HTML 文档。
  • script:JavaScript 脚本。
  • font:字体。
  • png/jpeg/webp:图片。

如果是异步数据请求,那么只有两类:

  • xhr:Ajax 请求,调用接口时最常见的请求类型。
  • fetch:Fetch 请求,Chrome 最新的请求方式,比 Ajax 更优雅。
  1. 大小

请求成功后返回的资源大小,通常与请求时间成正比。

  1. 时间

请求耗时,直观展现请求的响应速度。

  1. 瀑布

瀑布是一个非常棒的功能,它以一种可视化的方式展现所有请求的开始结束时间和请求耗时。每条请求的瀑布是一个多颜色拼接的色块,鼠标移入可查看瀑布详情。

在瀑布中,绿色表示响应耗时、蓝色表示下载响应资源耗时,色块宽度表示耗时时间。

7.6.2 请求的筛选过滤

一个中大型网站中往往会有数量庞大的请求,在调试接口或其他网络资源时,筛选出这部分需要观测的请求非常重要。此时就要用到过滤区域中,筛选请求列表的功能了。

  1. 快捷过滤

过滤区域中有以下快捷方式筛选不同类型的请求:

  • 全部:全部请求。
  • Fetch/XHR:Ajax 和 Fetch 请求。
  • JS:JavaScript 脚本文件请求。
  • CSS:CSS 样式文件请求。
  • 图片:图片文件请求,包括 PNG、SVG、WEBP 等格式。
  • 媒体:音视频文件或流媒体请求。
  • 字体:字体文件请求。
  • 文档:首页 HTML 文档请求。
  • WS:WebSocket 请求。
  • 其他:POST 预检请求等。

点击这些快捷按钮,请求列表会筛选并显示出对应类型的请求。比如我们想调试接口请求,点击 Fetch/XHR 快捷按钮,请求列表便会只过滤接口请求。

  1. 搜索过滤

过滤区域最左边的位置是一个输入框,在这里输入关键字,可以通过模糊匹配请求名称来实现请求列表的过滤。

在输入框后面有一个“反转”复选框,选中后会对搜索结果取反。假设搜索关键字“png”筛选出了所有 png 类型的请求,点击反转后,筛选结果变成了不包含 png 类型的其他请求。

  1. 其他过滤

除了常用的快捷过滤和搜索过滤,还有其他几个复选框用于过滤特殊类型的请求,如下。

  • 隐藏数据网址:过滤非 HTTP 请求,如 data:image/xxx 格式的 base64 请求。
  • 被屏蔽的请求:过滤被屏蔽的请求
  • 第三方请求:过滤非当前域名的请求,来自于第三方 URL。

将上述三类复选框选中后,即可过滤对应的请求。

7.6.3 单条请求详解

在请求列表中选中某条请求后,单击请求名称,即可打开请求详情页。在这个页面中,我们可以查看到详细的请求数据,如图 8-33 所示。

在请求详情页中有多个标签页,分别查看基本信息、请求数据、相应数据、耗时分析等。

  1. 头部信息

第一个“标头(Header)”标签页展示当前请求的头部信息,头部信息分三组展示,分别是:

  • 常规信息:包含完整请求 URL、请求方法、HTTP 状态码,是最基本的请求数据。
  • 响应头:HTTP 响应的头信息。包含响应格式、服务器标识等。
  • 请求头:HTTP 请求头信息,自定义请求头会显示在这里。
  1. 请求参数

不管是 GET 请求的 URL 参数,还是 POST 请求的 body 参数,都可以在第二个选项卡“载荷”中查看。在这里请求参数会被格式化,我们可以直观地看到参数的结构。

如果想要以原始字符串的格式展示参数,点击旁边的“查看源代码”即可。

  1. 响应数据

一个请求成功之后一般会返回响应数据。选项卡“预览”和“响应”都是用来查看响应数据。它们的区别是:前者会根据响应类型返回 HTML 页面中最终的格式,后者只会以代码分方式显示响应数据。

如果是图片请求,“预览”选项卡中展示图片,“响应”选项卡中不显示任何内容。如果是接口请求,两个选项卡都会显示接口的返回数据。

7.6.4 网络功能设置

在网络面板的操作区域,我们可以控制如何记录网络以及模拟不同的网络情况。操作区域的按钮从左到右的功能分别介绍如下。

  1. 记录网络日志

该按钮默认是红色,表示开启记录网络日志。点击后关闭变成灰色,不会再抓取到请求列表。

  1. 清除网络日志

当网络日志记录非常多时,你想查看最新抓取的网络请求,那么可以点击清除网络日志,清空请求列表后重新记录。

  1. 保留日志

默认情况下,刷新页面或者在当前页面跳转新链接时,会清空网络请求列表。如果你想保留上一页的网络日志,请勾选“保留日志”复选框。

  1. 停用缓存

对于一些不变的资源,浏览器会尽可能地从缓存中加载,以减少网络请求。缓存资源一般会返回 403 状态码,如果我们想模拟首次访问页面(首次访问没有缓存),请勾选“停用缓存”复选框。

  1. 节流模式

网络速度会影响页面的加载。大部分电脑都连接 WIFI,网络快,页面加载也快。有时候我们需要测试不同网速下页面的加载情况,就可以点击“节流模式”选择不同的网络。

节流模式可以模拟高速 3G、低速 3G、离线的情况,或者自定义网络速度,如图 3-34 所示。

  1. 导出 HAR

在团队合作开发的过程中,如果你想共享本次记录的所有网络请求,可以点击“导出 HAR”按钮,该操作会将请求列表打包并导出一个 .har 文件。如果要导出单条请求,选中后右键选择“以 HAR 格式保存内容”即可导出文件。

将 .har 文件发给其他人,其他人从网络面板中点击“导入 HAR”导入该文件,请求列表就会重现到网络面板当中。