用fiddler来学http协议:为什么会有“response body is encoded click to decode”

使用fiddler查看服务器返回的响应包的时候,我们常常会看到“response body is encoded click to decode”这样一个提示,只有点击它才能让响应包的主体内容从乱码变为方便阅读的字符。

 

 如果需要分析的数据包比较多的时候,可以点击工具栏的“Decode”按钮,它能够自动解码每次服务器返回的数据包。

 

 

 

1. 为什么服务器会返回乱码?

这是由于http协议中的内容编码机制,目的就是为了让传输的文件体积较小,提升传输速度。

由下图可知浏览器向服务器发送的报文首部中,Accept-Encoding表示支持的内容压缩方式,包含gzip,deflate,br三种压缩算法。

而服务器返回的响应报文首部中,Content-Encoding表示报文内容采用br压缩算法进行压缩。

 

 

2.  压缩算法的效率如何?

我们可以通过比较解码前后响应包头的Content-Length字段来进行判断,如下图

 

 

 

 内容的长度压缩了近一半,这使得信息传输的速度加快。

3.对应的压缩算法

gzipLZ77压缩算法
compressLZW压缩算法
deflatedeflate压缩算法
brbrotli压缩算法

转载于:https://www.cnblogs.com/wujiecong/p/11547124.html