1.xshell
方便好用的模拟请求工具
2.wireshark
网络抓包工具
3.火狐或chrome浏览器的网络面板
快速开启网络面板指令:ctrl+shift+i (win)
工具详解:https://www.cnblogs.com/charliechu/p/5981346.html
以chrome为例
network面板由控制器,过滤器,概览,请求列表和概要组成
3.1概要
显示了请求总数、总数居量和总花费时间
从左到右分别是
108个请求 | 总共传输了86.1kb的数据 | 最新版会多一个这玩意应该是指未压缩前的数据吧 | 总共用时2.32s | dom内容载入用了825ms | 总共载入用了1.41s
3.2控制器
控制器里面包括一些抓包的功能,具体为
disable cache选项:禁用缓存,确保每一次都是请求而不是从缓存中读取
preserve log 选项:保存之前页面的网络请求,因为每一个请求都是以log的形式存储的,若不勾选,浏览器访问其他页面时,这些log也会被清除
Online选项:可以利用该选项来模拟网速的快或慢
和火狐的不节流选项一样功能
3.3过滤器
顾名思义,根据我们的需求过滤出我们需要的请求
使用ctrl键进行多选
hiddata urls:因为有些图片数据是经过
base64编码放入一次请求中,来减少请求响应次数的,我们可以勾选这个选项来排除这些请求
属性过滤
通过输入框输入相应命令进行过滤
具体规则为
操作复现一下:
以 https://time.geekbang.org/ 为例
domain:仅仅显示来自指定域的资源
多个规则是 与and操作
3.4请求列表
摘自:https://blog.csdn.net/qq_42322103/article/details/90926279
排序显示
类似excel通过点击选项栏进行排序
请求列表(一)
Name:资源的名称
Status:HTTP 状态代码
Type:请求的资源的MIME类型
Type显示的是视频类型的文件,js文件还是别的类型的文件
请求列表(二)
Initiator:发起请求的对象或进程。它可能有以下几种值:
Parser(解析器):Chrome的HTML解析器发起了请求
· * 鼠标悬停显示JS脚本
Redirect(重定向):HTJP重定向启动了请求
Script(脚本):脚本启动了请求
Other(其他):一些其他进程或动作发起请求,例如用户点击链接跳转到页面或在地址栏中输入网址
请求列表(三)
Size:服务器返回的响应大小(包括头部和包体),可显示解压后大小
Time:总持续时间,从请求的开始到接收响应中的最后一个字节
Waterfall:C各请求相关活动的直观分析图
预览请求内容(一)
查看头部
查看 cookie
预览响应正文:查看图像用
查看响应正文
时间详细分布
导出数据为HAR格式
查看未压缩的资源大小:Use Large Request Rows
预览请求内容(二)
浏览器加载时间(概览、概要、请求列表)
DOMContentLoaded事件的颜色设置为蓝色,而load 事件设置为红色
将请求数据复制到剪贴版
Copy Link Address:将请求的网址复制到剪贴板
Copy Response:将响应包体复制到剪贴板
Copy as cURL:以cURL 命令形式复制请求
Copy All as cURL:以一系列CURL命令形式复制所有请求
Copy All as HAR:以HAR 数据形式复制所有请求
查看请求上下游:按住shift键悬停请求上,绿色是上游,红色是下游
上游和下游 举个例子:有一个html页面为上游 里面出现了图片的连接 之后的图片就是下游
浏览器加载时间
触发流程:
解析HTML结构
加载外部脚本和样式表文件
解析并执行脚本代码/∥部分脚本会阻塞页面的加载
DOM树构建完成/∥DOMContentLoaded事件
加载图片等外部文件
页面加载完毕/∥load事件
请求时间详细分布(一)
Queueing:浏览器在以下情况下对请求排队
*存在更高优先级的请求
此源已打开六个TCP连接,达到限值,仅适用于HTTP/1.0和HTTP/1.1
浏览器正在短暂分配磁盘缓存中的空间
Stalled:请求可能会因Queueing中描述的任何原因而停止
DNS Lookup:浏览器正在解析请求的IP地址
Proxy Negotiation:浏览器正在与代理服务器协商请求
Request sent:正在发送请求
ServiceWorker Preparation:浏览器在启动 Service Worker·
Request to* ServiceWorker:正在将请求发送到Service Worker
Waiting(TTFB):浏览器正在等待响应的第一个字节。TTFB表示Time To First Byte(至第一字节的时间)。此时间包括1次往返延迟时间及服务器准备响应所用的时间
Content Download:浏览器正在接收响应
Receiving Push:浏览器正在通过HTTP/2服务器推送接收此响应的数据
Reading Push:浏览器正在读取之前收到的本地数据