Fiddler抓包工具详解(一)(fiddler原理,HTTP请求构成)
文章目錄
- fiddler原理
- B/S架構(gòu)
- 工作原理
- HTTP協(xié)議
- 請求報文
- 請求行
- 請求方法字段
- 統(tǒng)一資源定位符(URL)
- http版本
- 請求頭部
- 請求體
- 響應(yīng)報文
- 狀態(tài)行
- 響應(yīng)頭
fiddler原理
Fiddler是位于客戶端和服務(wù)器端的HTTP代理
B/S架構(gòu)
●編寫程序部署到web服務(wù)器
●web服務(wù)器運行在服務(wù)器上,綁定ip地址并監(jiān)聽某端口,接收和處
理http請求
●客戶端通過http協(xié)議獲取服務(wù)器上的網(wǎng)頁、文檔等資源
工作原理
作為系統(tǒng)代理,發(fā)送請求或接受響應(yīng)
HTTP協(xié)議
Hyper Text Transfer Protocol (超文本傳輸協(xié)議)
用于從萬維網(wǎng)服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議
●HTTP協(xié)議是基于TCP的應(yīng)用層協(xié)議,它不關(guān)心數(shù)據(jù)傳輸?shù)募毠?jié),主要是用來規(guī)定客戶端和服務(wù)端的數(shù)據(jù)傳輸格式,最初是用來向客戶端傳輸HTML頁面的內(nèi)容。默認端口是80 .
●http是基于請求與響應(yīng)模式的、無狀態(tài)的、應(yīng)用層的協(xié)議
下面為http請求構(gòu)成的兩部分:
請求報文
客戶端發(fā)給服務(wù)器,HTTP請求報文主要由請求行,請求頭部、空一行、請求正文4部分組成。
請求體可以為空,例如get請求
請求行
請求行由請求方法字段、URL字段和HTTP協(xié)議版本字段3個字段組成,它們用空格分隔。
請求方法字段
| GET | 請求資源 |
| POST | 提交資源 |
| HEAD | 獲取響應(yīng)頭 |
| PUT | 替換資源 |
| DELETE | 刪除資源 |
| OPTIONS | 允許客戶端查看服務(wù)器的性能 |
| TRACE | 回顯服務(wù)器收到的請求,用于測試或診斷 |
統(tǒng)一資源定位符(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ù)
資源定位符http:// test. lemonban.com/ningmengban/images/logo.png
協(xié)議 http://
域名 test.lemonban. com 對應(yīng)主機IP,為了查找主機 cmd命令行可以用ping域名的方式命令查找IP
文件的路徑和文件名稱 ningmengban/images/logo.png
http版本
目前普遍使用的為1.1版本,即http/1.1
請求頭部
請求頭可以是任意信息,根據(jù)服務(wù)器需要進行組合
| Host | 主機ip地址或域名 |
| User- Agent | 客戶端相關(guān)信息,如操作系統(tǒng)、劉覽器等信息 |
| Accept | 指定客戶端接收信息類型,如: image/jpg, text/html, application/json |
| Accept-Charset | 替換資源 |
| Accept-charaet | 客戶端接受的字符集,如gb2312,iso-8859-1 |
| Accept-Encoding | 可接受的內(nèi)容編碼,gzip |
| Accept-Language | 接受的培言,如Accept-Langunge:zh-cn |
| Authorization | 客戶瑞提供給服務(wù)端,進行權(quán)限認證的信息 |
| Cookie | 攜帶的cookie信息 |
| Referer | 當(dāng)前文檔的URL,即從哪個鏈接過來的 |
| Content-Type | 請求體內(nèi)容類型,如Content-Type: application/x www form urlencoded |
| Content -Length | 數(shù)據(jù)長度 |
| Cache-Control | 緩存機制,如Cache-Control:no-cache |
| Pragma | 防止頁面被緩存,和Cache-control:no-cache作用一樣 |
請求體
真正發(fā)送給服務(wù)器的一串文本.
響應(yīng)報文
服務(wù)器返回給客戶端,HTTP響應(yīng)報文主要由狀態(tài)行,消息頭部、空一行、響應(yīng)體4部分組成。
狀態(tài)行
請求行由HTTP協(xié)議版本字段、狀態(tài)碼字段及其描述3個字段組成,它們用空格分隔。
狀態(tài)碼:用以表示網(wǎng)頁服務(wù)器HTTP響應(yīng)狀態(tài)的3位數(shù)字代碼
| 1XX | 提示信息,請求被成功接收 |
| 2XX | 成功,請求被成功處理 |
| 3XX | 重定向相關(guān) |
| 4XX | 客戶端錯誤 |
| 5XX | 服務(wù)器端錯誤 |
常用狀態(tài)碼:https://blog.csdn.net/qq_35689573/article/details/82120851
響應(yīng)頭
| Server | HTTP服務(wù)器的軟件信息 |
| Date | 響應(yīng)報文的時間 |
| Expires | 指定緩存過期時間 |
| Set-Cookie | 設(shè)置Cookie |
| Last-Modified | 資源最后修改時間 |
| Content-Length | 內(nèi)容長度 |
| Connection | 如:Content-Type:text/html;charset=utf-8 |
| Connection | 如keep-Alive,表示保持tcp鏈接不關(guān)閉,不回永久保持鏈接,服務(wù)器可設(shè)置 |
| Location | 指明重定向的位置,新的URL地址,如304的情況 |
總結(jié)
以上是生活随笔為你收集整理的Fiddler抓包工具详解(一)(fiddler原理,HTTP请求构成)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 逆序数问题(归并排序,C++)
- 下一篇: C++定时时间计算