Fiddler 簡介
Fiddler 是位于客戶端和服務器端的 HTTP 代理
目前最常用的 http 抓包工具之一
功能非常強大,是 Web 調(diào)試的利器
關注+轉發(fā)+私信【軟件測試】領取Fiddler安裝包和配套學習資料
- 監(jiān)控瀏覽器所有的 HTTP/HTTPS 流量
- 查看、分析請求內(nèi)容細節(jié)
- 偽造客戶端請求和服務器響應
- 測試網(wǎng)站的性能解密 HTTPS 的 Web 會話
- 全局、局部斷點功能
- 第三方插件
場景使用場景
- 接口調(diào)試、接口測試、線上環(huán)境調(diào)試、Web 性能分析
- 判斷前后端 bug、開發(fā)環(huán)境 hosts 配置、mock、弱網(wǎng)斷網(wǎng)測試
B/S 架構
編寫程序部署到 Web 服務器
Web 服務器運行在服務器上,綁定 ip 地址并監(jiān)聽某端口,接收和處理 http 請求
客戶端通過 http 協(xié)議獲取服務器上的網(wǎng)頁、文檔等
工作原理
HTTP
Hyper Text Transfer Protocol(超文本傳輸協(xié)議)
用于從萬維網(wǎng)服務器傳輸超文本到本地瀏覽器的傳送協(xié)議
HTTP 協(xié)議是基于 TCP 的應用層協(xié)議,它不關心數(shù)據(jù)傳輸?shù)募毠?jié),主要是用來規(guī)定客戶端和服務端的數(shù)據(jù)傳輸格式,最初是用來向客戶端傳輸 html 頁面的內(nèi)容。默認端口是 80
http 是基于請求與響應模式的、無狀態(tài)的、應用層的協(xié)議
完整的 HTTP 協(xié)議
完整的 http 協(xié)議包含請求和響應兩塊內(nèi)容
HTTP 請求報文
HTTP 請求報文主要由請求行、請求頭部、空一行、請求正文(請求體)4 部分組成
如下是 fiddler 某個會話的請求報文
請求方法( Request Method)
|
請求方法 |
備注 |
|
GET |
請求資源 |
|
POST |
提交資源 |
|
Head |
獲取響應頭 |
|
PUT |
替換資源 |
|
DELETE |
刪除資源 |
|
OPTIONS |
允許客戶端查看服務器的性能 |
|
TRACE |
回顯服務器收到的請求,用于測試或診斷 |
URL
Uniform Resource Locator:統(tǒng)一資源定位符,用于描述網(wǎng)上的資源
格式:schema://host[:port#]/path/.../[?query-string]
scheme:協(xié)議,如 http,https,ftp 等
host:域名或者 IP 地址
port:端口
path:資源路徑
query-string:發(fā)送的參數(shù)
如:https://www.baidu.com/s?wd=檸檬班
請求頭(Request Header)
|
請求頭 |
描述 |
|
Host |
主機 ip 地址或域名 |
|
User-Agent |
客戶端相關信息,如果操作系統(tǒng)、瀏覽器等信息 |
|
Accept |
指定客戶端接收信息類型,如:image/jpg,text/html,Application/json |
|
Accept-Charset |
客戶端接受的字符集,如 gb2312、iso-8859-1 |
|
Accept-Encoding |
可接受的內(nèi)容編碼,如 gzip |
|
Accept-Language |
接受的語言,如 Accept-Language:zh-cn |
|
Authorization |
客戶端提供給服務端,進行權限認證的信息 |
|
Cookie |
攜帶的 cookie 信息 |
|
Referer |
當前文檔的 URL,即從哪個鏈接過來的 |
|
Content-Type |
請求體內(nèi)容類型,如 Content-Type: |
|
Content-Length |
數(shù)據(jù)長度 |
|
Cache-Control |
緩存機制,如 Cache-Control:no-cache |
|
Pragma |
防止頁面被緩存,和 Cache-Control:no-cache 作用一樣 |
HTTP 響應報文
HTTP 響應報文主要由狀態(tài)行、消息報頭、空一行、響應正文 4 部分組成
如下是 fiddler 某個會話的響應報文
狀態(tài)碼(Status Code)
用以表示網(wǎng)頁服務器 HTTP 響應狀態(tài)的 3 位數(shù)字代碼
|
狀態(tài)碼 |
描述 |
|
1XX |
提示信息,請求被成功接收 |
|
2XX |
成功,請求被成功處理 200 |
|
3XX |
重定向相關 304 |
|
4XX |
客戶端錯誤 404 |
|
5XX |
服務器端錯誤 500 |
響應頭(Response Header)
|
響應頭 |
描述 |
|
Server |
HTTP 服務器的軟件信息 |
|
Date |
響應報文的時間 |
|
Expires |
指定緩存過期時間 |
|
Set-Cookie |
設置 Cookie |
|
Last-Modified |
資源最后修改時間 |
|
Content-Type |
響應的類型和字符集,如:Content-Type: text/html; charset=utf-8 |
|
Content-Length |
內(nèi)容長度 |
|
Connection |
如 Keep-Alive,表示保持 tcp 連接不關閉,不會永久保持連接,服務器可設置 |
|
Location |
指明重定向的位置,新的 URL 地址,如 304 的情況 |
GET 請求
格式 http://host:port/path?xx=aa&yy=bb
如:
http://120.78.128.25:8080/futureloan/mvc/api/member/register?mobilephone=13555555528&pwd=123456
說明:
- http/https:協(xié)議類型
- host:服務器主機 ip 地址或域名
- port:端口號,如果是 80 可以省略,其它端口必須指明
- path:訪問資源的路徑
- ?:分隔符,用于區(qū)別 path 和參數(shù)
- xx=aa、yy=bb:請求參數(shù)列表
- &:多個參數(shù)的連接符號
關注+轉發(fā)+私信【軟件測試】領取Fiddler安裝包和配套學習資料
總結
機會只垂青有準備的人,這是一個靠本事的社會。有時候,你之所以發(fā)展得不好,不是因為沒有機遇,而是因為你沒有準備好,導致機遇與你擦肩而過。如果你想要學習,什么時候開始都不晚,而不是瞻前顧后,你只要用盡全力,剩下的交給時間!






