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