美文网首页Fiddler运维工具
『言善信』Fiddler工具 — 11.Inspectors(检

『言善信』Fiddler工具 — 11.Inspectors(检

作者: 繁华似锦Fighting | 来源:发表于2021-02-04 07:12 被阅读0次

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

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

    1、请求报文

    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面板中响应报文部分,如下图:


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

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


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

    解释说明:

    • 顶部的黄色提示文字:

      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

    相关文章

      网友评论

        本文标题:『言善信』Fiddler工具 — 11.Inspectors(检

        本文链接:https://www.haomeiwen.com/subject/cavpzktx.html