fiddler

153 阅读3分钟

工作原理

fidder在客户端和服务端之间创建了一个代理。

image.png

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')

缓冲模式,可控制最后的服务器响应;流模式,更接近于浏览器本身真实的行为

常见的使用场景

  1. 开发环境hosts配置
  2. 前后端接口调试
  3. 线上bugfix
  4. 性能分析和优化

开发环境hosts配置

通常情况下,配置hosts需改系统文件很不方便;在多个开发环境切换很抵消。fiddler提供了相对高效的配置方法。

前后端接口调试

通常情况下,调试前后端接口需真实的环境、一大堆假数据、写js代码。flddler只需一个UI界面进行配置即可。

线上bugfix

Fiddler可将发布文件代理到本地,快速定位线上bug

性能分析和优化

fiddler会提供请求的实际图,清晰明了网站需优化的部分

fiddler工具条常用功能

上面工具栏.png

1、添加备注:

可以为某一个请求添加备注

image.png

2、回放按钮

重新发起一遍请求

3、清空监控面板

这个功能可以分情况清除下面请求

image.png

4、调试Debug

这个功能要配合下面的断点功能。

image.png

5、切换缓冲/流模式

Buffering Mode:内容先由Fiddler缓存,全部返回后再发送到客户端。

Streaming Mode:Fiddler收到内容立即就转发给客户端。

6、解压请求

HTTP的解码功能

7、保持会话

这个可以设置最多保持多少的会话,保存的会话的数量,数量越多占用的内存越大

image.png

8、过滤请求

这个功能按住之后移到其他应用,可以只监听这个应用的所有请求

image.png

9、查找

可以查找某个请求

10、保存回话

可以将当前请求保存起来,下次导入就可以复现

11、保存截图

可以在5s后保存当前面板的截图

image.png

12、计时器

普通的计时器功能

image.png

13、快速启动浏览器

可以打开电脑按照的浏览器

image.png

14、清除缓存

15、编码/解码

实用的一个小功能

image.png

16、分离面板

image.png

17、MSDN搜索

fiddler状态栏操作

image.png

fiddler监控面板的使用

statistics 用来统计请求响应的数据

image.png

Inspectors 用来表示请求和响应的数据,包括请求头、响应头以及请求数据和响应数据

image.png

AutoResponder 可以用来自定义响应数据

image.png

Composer 类似postman的功能

image.png

TimeLine 用来显示请求的时间线

image.png

Fiddler的应用场景

  1. 文件代理
  2. hosts配置
  3. fiddler请求模拟
  4. fiddler-网络限速、断网
  5. 断点、局部断点bpu、bpafter