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的几点区别
查看全文
相关阅读:
接口测试01
mysql主从
linux下配置JDK
linux常用命令
mysql基本语句
线程与进程
loadrunner函数
设计模式-模板方法模式
设计原则-CRP合成复用原则
设计原则-LOD迪米特法则
原文地址:https://www.cnblogs.com/androidsj/p/5474584.html
最新文章
【React踩坑记五】React项目中引入并使用react-ace代码编辑插件(自定义列表提示)
【React踩坑记四】React项目中引入并使用js-xlsx上传插件(结合antdesign的上传组件)
【已解决】React项目中按需引入ant-design报错TypeError: injectBabelPlugin is not a function
docker中安装nginx,部署前端代码
Vue移动端项目中下拉刷新和上拉加载
javascript SDK开发之webpack打包支持对象展开运算符...
mac OS mysql新建数据库运行sql文件
linux基本命令
Linux之文档与目录结构
flask项目目录整合、获取项目依赖模块目录、环境下所有模块
热门文章
flask-migrate使用
flask-script使用
flask-sqlalchemy组件使用
重定向时,保留原来的过滤条件
flask 信号
django 信号
django 缓存
TCP建立连接与释放连接
性能测试指标
关联
Copyright © 2011-2022 走看看