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
我们可以压缩和/或分块传输响应结果给目标端(如手机端),也可以解压缩或不再进行分块传输。
重点:配套学习资料和视频教学
那么在这里我也精心准备了上述大纲的详细资料在下方链接如下