『言善信』Fiddler工具 — 8、Fiddler檢查器(Inspectors)詳解

繁華似錦Fighting發表於2021-06-11

Inspectors意思是檢查器。Inspectors可以使用多種方式,檢視請求的請求報文和響應報文相關資訊。

Inspectors頁籤分為上下兩部分,上部顯示的是所發出請求的相關資訊,下部顯示的是所接收對應響應的相關資訊。

所在位置,如下圖所示:

image

1、請求報文內容

Inspectors皮膚中請求報文部分,如下圖:

image

請求報文中各標籤含義說明:

序號 名稱 含義
1 Headers 顯示客戶端傳送到伺服器的 HTTP 請求的 header,顯示為一個分級檢視,包含了 Web 客戶端資訊、Cookie、傳輸狀態等。
2 TextView 顯示 POST 請求的 body 部分為文字。
3 Syntaxview 為Textview的加強版,檢視語法高亮的請求內容。加上了行數標識,滑鼠右鍵的選單中,相較Textview多了一些功能,如Json、XML格式化,查詢替換等。
4 WebForms 顯示請求的 GET 引數 和 POST body 內容。特別說明,這裡 body 應該是 application/x-www-form-urlen-coded 格式。
5 HexView 用十六進位制資料顯示請求。
6 Auth 顯示 header 中的 Proxy-Authorization 和 Authorization 資訊。
7 Cookies 請求傳送的cookies資訊。
8 Raw 將整個請求顯示為純文字。
9 JSON 如果請求的 body 是 Json 格式,就是用分級的 Json 來顯示它。
10 XML 如果請求的 body 是 XML 格式,就是用分級的 XML 樹來顯示它。

2、響應報文內容

Inspectors皮膚中響應報文部分,如下圖:

image

響應報文中各標籤含義說明:

序號 名稱 含義
1 Transformer 顯示響應的編碼資訊。
2 Headers 用分級檢視顯示響應的 header。
3 TextView 使用文字顯示相應的 body。
4 Syntaxview 為Textview的加強版,檢視語法高亮的請求內容。加上了行數標識,滑鼠右鍵的選單中,相較Textview多了一些功能,如Json、XML格式化,查詢替換等。
5 ImageView 如果請求是圖片資源,顯示響應的圖片。左側灰色區域會顯示圖片的大小、寬高、檔案格式等資訊,在下方還可以選擇縮放模式:Autoshrink(自動縮放)、Scale to fit(縮放以適應顯示區域大小)、No Scaling(無縮放)。
6 HexView 用十六進位制資料顯示響應。
7 WebView 響應在 Web 瀏覽器中的預覽效果。
8 Auth 顯示響應 header 中的 Proxy-Authorization 和 Authorization 資訊。
9 Caching 顯示此請求的快取資訊。
10 Cookies 顯示此請求的cookies資訊,私密 P3P Header 資訊。
11 Raw 將整個響應顯示為純文字。
12 JSON 如果請求的 body 是 Json 格式,就是用分級的 Json 來顯示它。
13 XML 如果響應的 body 是 XML 格式,就是用分級的 XML 樹來顯示它
14 Privacy 顯示此請求的私密 (P3P) 資訊。

提示P3P 是一種標準,使Internet衝浪者可以選擇在瀏覽網頁時,是否被第三方收集並利用自己的個人資訊,瀏覽器會依據設定,決定在第三方請求的條件下是否接受網站的 cookies

3、響應報文中Transformer選項說明

Transformer選項是顯示響應的編碼資訊,如下圖:表示可以選擇幾種壓縮方式來提供效能,圖中是預設沒有選用任何壓縮方式。

image

抓取訪問百度請求之後,發現響應頭使用的是Transfer-Encoding:chunked,是用chunked(分塊傳輸)方式傳送資料長度值。

image

解釋說明:

  • 頂部的黃色提示文字:
    Response body is encoded.Click to decode.
    表示,此請求為了提高效能,而做了編碼或者壓縮(例如 GZIP),需要轉換後才能正常瀏覽。
    點選該區域執行轉換或者解壓縮,如果該請求沒“編碼/壓縮”是看不見此提示的。
  • Response body: 19 bytes.
    響應報文的body是19位元組。
  • Chunked Transfer-Encoding分塊傳輸編碼
    分塊傳輸編碼只在HTTP協議1.1版本(HTTP/1.1)中提供。用於http傳送過程的分塊技術,原因是http伺服器響應的報文長度經常是不可預測的,使用Content-length的實體搜捕並不是總是管用。
    分塊技術說明:
    響應資料被分成許多的塊,也就是應用層的資料,TCP在傳送的過程中,不對它們做任何的解釋,而是把應用層產生資料全部理解成二進位制流,然後按照MSS的長度切成一份一份的,一股腦塞到tcp協議棧裡面去。而具體這些二進位制的資料如何做解釋,需要應用層來完成;
    所以在這之前,一塊整體應用層的資料需要等它分成的所有TCP segment到達對方,重新組裝後,應用程式才使用自己的解碼方法還原它們。
  • HTTP Compression:顯示當前請求使用的編碼方式。
    • None:無壓縮。
    • GZIP:GZIP壓縮。
      在Linux系統中經常會用到字尾為.gz的檔案,它們就是GZIP格式的檔案。
    • Use Zopfli to GZIP/DEFLATE
      Google 出了的開源專案Zopfli。簡單說是一個Deflate壓縮演算法的另一種實現。
      據悉,Zopfli的壓縮率比現有的Zlib高3%-8%的提升。
    • DEFLATE
      DEFLATE壓縮是同時使用了LZ77演算法與哈夫曼編碼(Huffman Coding)的一個無損資料壓縮演算法。
    • BZIP2
      BZIP2壓縮是一個基於Burrows-Wheeler變換的無失真壓縮軟體,壓縮效果比傳統的LZ77/LZ78壓縮演算法來得好。
    • Brotli
      Brotli壓縮取代DEFLATE壓縮來對文字檔案壓縮,通常可以增加20%的壓縮密度,而壓縮與解壓縮速度則大致不變。
  • Help...
    點選 Help... 可以看到以下英文資訊:
    • To improve performance, response bodies may be compressed and/or delivered in chunks.
    • Before examining or modifying such responses, you may wish to decompress or unchunk them using the Transformer
      翻譯:
      為了提高效能,可以將響應主體壓縮和/或分塊傳輸。
      在檢查或修改此類響應之前,您可能希望使用Transformer對它們進行解壓縮或不進行分塊傳輸。

總結:通過Transformer我們可以壓縮和/或分塊傳輸響應結果給目標端(如手機端),也可以解壓縮或不再進行分塊傳輸。

參考:http://www.51ste.com/share/det-904.html

相關文章