协议分析Gzip格式与解析

Posted tiny丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了协议分析Gzip格式与解析相关的知识,希望对你有一定的参考价值。

一、gzip 与 zlib的关系

zlib被设计成一个免费的、通用的、合法的、不受任何专利保护的无损数据压缩库,几乎可以在任何计算机硬件和操作系统上使用。zlib数据格式本身可以跨平台移植。zlib由Jean-loup Gailly(压缩)和Mark Adler(解压)编写。Jean-loup也是gzip(1)的主要作者,也是compp .compression FAQ列表的作者和Info-ZIP的Zip的前维护者;Mark也是gzip和UnZip的主要解压缩例程的作者,也是Zip的原始作者。不足为奇的是,zlib中使用的压缩算法与gzip和Zip中使用的压缩算法本质上是相同的,即源自PKWARE的PKZIP 2.x中的“deflate”方法。

GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常 使用GZIP压缩技术来让用户感受更快的速度。

GZIP本身只是一种文件格式,其内部通常采用DEFLATE数据格式,而DEFLATE采用LZ77压缩算法来压缩数据。

GZIP文件由1到多个“块”组成,实际上通常只有1块。每个块包含头、数据和尾三部分。块的概貌如下:

+---+---+---+---+---+---+---+---+---+---+========//========+==

以上是关于协议分析Gzip格式与解析的主要内容,如果未能解决你的问题,请参考以下文章

网络原理第四章 数据链路层

SDP的内容解析与 实例分析

CoAP 协议解析说明(转)

如何解析hdlc帧7E头(帧格式分析实例)

linux网络协议栈源码分析 - 链路层ARP地址解析协议

linux网络协议栈源码分析 - 链路层ARP地址解析协议