zoukankan
html css js c++ java
HTTP gzip和deflate的几点区别
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的几点区别
查看全文
相关阅读:
刷题-力扣-700. 二叉搜索树中的搜索
作业要求20191010-8 alpha week 1/2 Scrum立会报告+燃尽图 06
20191010-7 alpha week 1/2 Scrum立会报告+燃尽图 05
20191010-6 alpha week 1/2 Scrum立会报告+燃尽图 04
20191010-5 alpha week 1/2 Scrum立会报告+燃尽图 03
20191010-4 alpha week 1/2 Scrum立会报告+燃尽图 02
20191010-3 alpha week 1/2 Scrum立会报告+燃尽图 01
扛把子组Scrum立会报告+燃尽图 07
扛把子组20180926-1 选题展示
"PSP助手”微信小程序宣传视频链接及内容介绍
原文地址:https://www.cnblogs.com/androidsj/p/5474584.html
最新文章
函数-函数进阶-命名空间
mysql索引和约束区别
sqoop基本使用
查询和引擎了解笔记
添加外键报错Cannot add or update a child row: a foreign key constraint fails原因解决方法
hive配置文件
大数据笔记
大数据学习之路
mapreduce API 文档
修饰符
热门文章
标识符
刷题-力扣-543. 二叉树的直径
刷题-力扣-1038. 把二叉搜索树转换为累加树
刷题-力扣-508. 出现次数最多的子树元素和
刷题-力扣-450. 删除二叉搜索树中的节点
刷题-力扣-501. 二叉搜索树中的众数
刷题-力扣-1480. 一维数组的动态和
刷题-力扣-剑指 Offer II 055. 二叉搜索树迭代器
刷题-力扣-91. 解码方法
刷题-力扣-1646. 获取生成数组中的最大值
Copyright © 2011-2022 走看看