码上快乐
1秒登录
首页
榜单
标签
关于
搜索
相关内容
简体
繁体
HTTP gzip和deflate的几点区别
本文转载自
查看原文
2016-05-09 16:58
1729
Java
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) 和长度标识字节。
gzip和deflate的几点区别
×
免责声明!
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。
猜您在找
HttpWebResponse 解压gzip、deflate压缩
GZip、deflate和sdch压缩(网摘整理)
WebApi Gzip(Deflate) 压缩请求数据
zlib,gzip和deflate格式分析之php相互转换
ASP.NET Web API中使用GZIP 或 Deflate压缩
httpclient访问网站时设置Accept-Encoding为gzip,deflate返回的结果为乱码的问题
笔记:服务器压缩方案 来源于 Accept-Encoding: gzip, deflate 问题
golang http gzip
Http请求的gzip压缩
从python爬虫引发出的gzip,deflate,sdch,br压缩算法分析
粤ICP备18138465号
© 2018-2025 CODEPRJ.COM