Fiddler 介绍
- Fiddler 是位于客户端和服务端之间的 HTTP 代理
- 目前最常用的 HTTP 抓包工具之一
- 功能非常强大,是 Web 调试的利器
- 监控浏览器所有的 HTTP / HTTPS 流量
- 查看、分析请求的内容细节
- 伪造客户端请求和服务器响应
- 测试网站性能
- 解密 HTTPS 的 Web 会话
- 全局、局部断点功能
- 第三方插件
- 使用场景
- 接口调试、接口测试、线上环境调试、Web 性能分析
- 判断前后端 bug、开发环境 hosts 配置、mock 假数据、弱网断网测试
B/S架构
浏览器browser到服务器Server的架构
- 编写程序部署到web服务器
- web服务器运行在服务器上,绑定ip地址并监听某端口,接收和处理http请求
- 客户端通过http协议获取服务器上的网页、文档等资源
工作原理
作为系统代理,发送请求或接受响应
fiddler 只要一打开就变成了全局的代理的真相是:
从chrome中找到代理服务器的位置,查看配置
看到打开fiddler之后我们的本地网络配置已经被修改了
我们访问网站,发现有反应了,不过没有想要的结果的原因是:我们访问的请求是https的,目前还没有配置(我们看到有很多的tunnel to的部分,是建立通道的过程)
配置完成我们可以抓到数据了
HTTP协议
- Hyper Text Transfer Protocol (超文本传输协议)
- 用于从
万维网服务器传输超文本到本地浏览器的传送协议 - HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80 .
- http是基于请求与响应模式的、无状态的、应用层的协议
下面为http请求构成的两部分:
请求报文
客户端发给服务器,HTTP请求报文主要由请求行,请求头部、空一行、请求正文4部分组成。
我们在观看数据的时候可以上下都是用Raw(原始格式)
请求行
请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。
请求方法字段
统一资源定位符(URL)
- Uniform Resource Locator:统一资源定位符
- 用于描述网上的资源
- 格式: schema://host[:port#]/path/…/ [?query-string ]
- scheme:协议,如http, https, ftp等
- host:域名或者IP地址
- port: 端口
- path:资源路径
- query-string:发送的参数
资源定位符 test.lemonban.com/ningmengban…
- 协议 http://
- 域名 test.lemonban. com 对应主机IP,为了查找主机 cmd命令行可以用ping域名的方式命令查找IP
文件的路径和文件名称 ningmengban/images/logo.png
http版本
目前普遍使用的为1.1版本,即http/1.1
请求头部
请求头可以是任意信息,根据服务器需要进行组合
请求体
真正发送给服务器的一串文本.
响应报文
服务器返回给客户端,HTTP响应报文主要由状态行,消息头部、空一行、响应体4部分组成。
状态行
- 请求行由HTTP协议版本字段、状态码字段及其描述3个字段组成,它们用空格分隔。
- 状态码:用以表示网页服务器HTTP响应状态的3位数字代码
常用状态码:blog.csdn.net/qq_35689573…