博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTTP gzip和deflate的几点区别
阅读量:6087 次
发布时间:2019-06-20

本文共 650 字,大约阅读时间需要 2 分钟。

gzip是一种数据格式,默认且目前仅使用deflate算法压缩data部分;
deflate是一种压缩算法,是huffman编码的一种加强。
deflate与gzip解压的代码几乎相同,可以合成一块代码。
区别仅有:
deflate使用inflateInit(),而gzip使用inflateInit2()进行初始化,比 inflateInit()多一个参数: -MAX_WBITS,表示处理raw deflate数据。因为gzip数据中的zlib压缩数据块没有zlib header的两个字节。使用inflateInit2时要求zlib库忽略zlib header。在zlib手册中要求windowBits为8..15,但是实际上其它范围的数据有特殊作用,见zlib.h中的注释,如负数表示raw deflate。
Apache的deflate变种可能也没有zlib header,需要添加假头后处理。即MS的错误deflate (raw deflate).zlib头第1字节一般是0x78, 第2字节与第一字节合起来的双字节应能被31整除,详见rfc1950。例如Firefox的zlib假头为0x7801,python zlib.compress()结果头部为0x789c。
deflate 是最基础的算法,gzip 在 deflate 的 raw data 前增加了 10 个字节的 gzheader,尾部添加了 8 个字节的校验字节(可选 crc32 和 adler32) 和长度标识字节。

 

转载地址:http://rcvwa.baihongyu.com/

你可能感兴趣的文章
nginx启动脚本和配置文件
查看>>
CsharpVB教程下载
查看>>
Linux基础(2)之目录管理
查看>>
js模块加载框架 sea.js学习笔记
查看>>
Windows 2008远程桌面多用户登陆的配置方法
查看>>
shell编程 测试单个主机或网段主机存活
查看>>
cocos2dx[3.2]实战篇——《三消类游戏》学习心得
查看>>
谁策划了互联网“国会纵火案”?
查看>>
Nginx的安装及使用
查看>>
ABAP日期函数应用
查看>>
我的友情链接
查看>>
如何辨别PPT中同一页面堆积的各类元素?
查看>>
我是如何入门、成长并进阶为数据分析师的?
查看>>
PHP7安装扩展
查看>>
linux磁盘加密
查看>>
URL去除.php或.html等后缀
查看>>
重启(reboot)和关闭系统(poweroff)命令
查看>>
windows 下oracle的服务操作说明
查看>>
ROWNUM使用大于查不到值的问题(查询大于10小于21 范围内的数据)
查看>>
centos7下配置tomcat
查看>>