• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

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

开发技术 开发技术 4小时前 3次浏览

目录
  • 1、请求报文内容
  • 2、响应报文内容
  • 3、响应报文中Transformer选项说明

Inspectors意思是检查器。Inspectors可以使用多种方式,查看请求的请求报文和响应报文相关信息。

Inspectors页签分为上下两部分,上部显示的是所发出请求的相关信息,下部显示的是所接收对应响应的相关信息。

所在位置,如下图所示:

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

1、请求报文内容

Inspectors面板中请求报文部分,如下图:

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

请求报文中各标签含义说明:

序号 名称 含义
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面板中响应报文部分,如下图:

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

响应报文中各标签含义说明:

序号 名称 含义
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选项是显示响应的编码信息,如下图:表示可以选择几种压缩方式来提供性能,图中是默认没有选用任何压缩方式。

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

抓取访问百度请求之后,发现响应头使用的是Transfer-Encoding:chunked,是用chunked(分块传输)方式传送数据长度值。

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

解释说明:

  • 顶部的黄色提示文字:
    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


喜欢 (0)