如何使用Chrome的Network面板分析HTTP报文

快捷键:Control+Shift+I(Windows)

 

 概要中有抓取的请求数量,传输的数据的大小,资源的总计的大小,总共花费的时间,DOMContentLoaded和Load所花费的时间

DOMContentLoaded与load的区别:http://www.cnblogs.com/caizhenbo/p/6679478.html

  • 控制面板:控制面板的外观与功能
  • 过滤器:过滤请求列表中显示的资源
      • 按住Ctrl(windows/linux),然后点击过滤器可以同时选择多个过滤器
      • 隐藏Datas URLs:CSS图片等小文件以BASE64格式嵌入HTML中,以减少HTTP
  • 概览:显示HTTP请求、响应的时间轴
  • 请求列表:默认时间排序,可选择显示列
  • 概要:请求总数,总数据量,总花费时间等

 

过滤器:属性过滤

  • domain:仅显示来自指定域的资源,可以使用通配符字符(*)纳入多个域
  • has-response-header:显示包含指定的HTTP响应标头的资源
  • is: 使用is:running 可查找WebSocket资源  is:from-cache 可查找缓存读出的资源
  • larger-than:显示大于指定大小的资源(以字节为单位),将值设置为1000等同于设置为1k
  • method:显示通过指定HTTP方法类型检索的资源
  • mime-type:显示指定的MIME类型的资源
  • scheme:显示通过未保护HTTP(scheme:http)或受保护HTTPS(scheme:https)检索的资源
  • set-cookie-domain:显示具有Set-Cookie表头并且Domain属性与指定值匹配的资源。
  • set-cookie-name:显示具有Set-Cookie表头并且名称与指定值匹配的资源
  • set-cookie-value:显示具有Set-Cookie表头并且值与指定值匹配的资源
  • status-code:仅显示HTTP状态代码与指定代码匹配的资源

多属性间通过空格实现AND实现

请求列表的排序

  • 时间排序默认
  • 按列排序
  • 按活动时间排序(Waterfall右键)
      • Start Time:发出的第一个请求位于顶部
      • Response Time:开始下载的第一个请求位于顶部
      • End Time:完成的第一个请求位于顶部
      • Total Duration:连接设置时间和请求/响应时间最短的请求位于顶部
      • Latency:等待最短响应时间的请求位于顶部

请求列表

Initiator:发起的请求对象或进程。它可能有以下几种值

  • Parser(解析器):Chrome的HTML解析器发起了请求
      • 鼠标悬停显示js脚本
  • Redirect(重定向):HTTP重定向启动了请求
  • Script(脚本):脚本启动了请求
  • Other(其他):一些进程或者动作发起的请求,例如用户点击连接跳转到页面或在地址栏中输入的网址

请求列表中的列可以增加或者减少,在列名上面右键,可以勾选想要增加或者减少的列,也可添加自定义列

预览请求内容:

  • 查看头部
  • 查看cookie
  • 预览响应正文:查看图像用
  • 查看响应正文
  • 时间详细分布
  • 导出数据为HAR格式
  • 浏览器加载时间(概览、概要、请求列表)  
      • DOMContentLoaded事件的颜色设置为蓝色,而load事件设置为红色
  • 将请求数据复制到剪切板
      • Copy Link Address :将请求的网址复制到剪切版
      • Copy Response:将响应包体复制到剪切板
      • Copy as cURL:以cURL命令形式复制到剪切板
      • Copy All as cURL:以一系列cURL命令形式复制所有请求
      • Copy All as HAR:以HAR数据形式复制所有请求
  • 查看请求上下游:按住shift键悬停请求上,绿色是上游,红色是下游

浏览器加载时间:

触发流程:

  • 解析HTML结构
  • 加载外部脚本和样式表文件
  • 解析并执行脚本代码//部分脚本会阻塞页面的加载
  • DOM树构建完成//DOMContentLoaded事件
  • 加载图片等外部文件
  • 页面加载完毕//Load事件

请求时间的详细分布:

Queueing:浏览器在以下情况下对请求排队

  • 存在更高优先级的请求
  • 此源已打开六个TCP连接,达到限值,仅适用于HTTP1.0/HTTP1.1
  • 浏览器正在短暂分配磁盘缓存中的空间

Stalled:请求可能会因Queueing中描述的任何原因而停止

(Stalled阶段时TCP连接的检测过程,如果检测成功就会继续使用该TCP连接发送数据,如果检测失败就会重新建立TCP连接。所以出现stalled阶段过长,往往是丢包所致,这也意味着网络或服务端有问题。)

DNS Lookup:浏览器正在解析请求的IP地址

Proxy Negotiation:浏览器正在与代理服务器协商请求

Request sent :正在发送请求

ServiceWork Preparation:浏览器正在启动Service Worker

Request to ServiceWork:正在将请求发送到Service Worker

Waiting(TTFB):浏览器正在等待响应的第一个字节。TTFB表示Time To First Byte(至第一个字节的时间)。此时间包括1次往返延迟的时间及服务器准备响应所用的时间。

Content Download:浏览器正在接受收应

Receiving Push:浏览器正在通过HTTP/2服务器推送接收此响应的数据

Reading Push:浏览器正在读取之间收到的本地数据

posted @ 2019-05-26 13:03  冯小圆  阅读(1199)  评论(0编辑  收藏  举报