工作原理
fidder在客户端和服务端之间创建了一个代理。
fidder在代理过程中,有两种模式可以选择,流模式(streaming) 和 缓冲模式(buffering)
使用流模式: fidder会实时把服务器返回给客户端的数据返回给我们
使用缓冲模式: fidder会等待http请求的所有的数据都准备好了才会返回给我们的应用程序
用一段代码表示这两种区别:
var http = require('http')
http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'})
res.write('bufferr data')
setTimeout(() => res.end('hello world\n'), 1000)
}).listen(1337, '127.0.0.1')
缓冲模式,可控制最后的服务器响应;流模式,更接近于浏览器本身真实的行为
常见的使用场景
- 开发环境hosts配置
- 前后端接口调试
- 线上bugfix
- 性能分析和优化
开发环境hosts配置
通常情况下,配置hosts需改系统文件很不方便;在多个开发环境切换很抵消。fiddler提供了相对高效的配置方法。
前后端接口调试
通常情况下,调试前后端接口需真实的环境、一大堆假数据、写js代码。flddler只需一个UI界面进行配置即可。
线上bugfix
Fiddler可将发布文件代理到本地,快速定位线上bug
性能分析和优化
fiddler会提供请求的实际图,清晰明了网站需优化的部分
fiddler工具条常用功能
1、添加备注:
可以为某一个请求添加备注
2、回放按钮
重新发起一遍请求
3、清空监控面板
这个功能可以分情况清除下面请求
4、调试Debug
这个功能要配合下面的断点功能。
5、切换缓冲/流模式
Buffering Mode:内容先由Fiddler缓存,全部返回后再发送到客户端。
Streaming Mode:Fiddler收到内容立即就转发给客户端。
6、解压请求
HTTP的解码功能
7、保持会话
这个可以设置最多保持多少的会话,保存的会话的数量,数量越多占用的内存越大
8、过滤请求
这个功能按住之后移到其他应用,可以只监听这个应用的所有请求
9、查找
可以查找某个请求
10、保存回话
可以将当前请求保存起来,下次导入就可以复现
11、保存截图
可以在5s后保存当前面板的截图
12、计时器
普通的计时器功能
13、快速启动浏览器
可以打开电脑按照的浏览器
14、清除缓存
15、编码/解码
实用的一个小功能
16、分离面板
17、MSDN搜索
fiddler状态栏操作
fiddler监控面板的使用
statistics 用来统计请求响应的数据
Inspectors 用来表示请求和响应的数据,包括请求头、响应头以及请求数据和响应数据
AutoResponder 可以用来自定义响应数据
Composer 类似postman的功能
TimeLine 用来显示请求的时间线
Fiddler的应用场景
- 文件代理
- hosts配置
- fiddler请求模拟
- fiddler-网络限速、断网
- 断点、局部断点bpu、bpafter