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的几点区别
查看全文
相关阅读:
能成大事儿的人,都具备这5个特质
元气森林唐彬森:苦了10年我发现,发大财首先要会选
反者道之动,亿万富翁查理芒格受用一生的逆向思维
解决不了bug先放着,这里有40条提升编程技能小妙招
理解maven命令package、install、deploy的联系与区别
每日一则
《穷查理年鉴》贪嗔痴 & 懒贪装(关于败坏)
C++构造函数
C++类的定义和封装
C++访问控制限定符
原文地址:https://www.cnblogs.com/androidsj/p/5474584.html
最新文章
解除网页限制(禁止复制)
解决Linux Mint 20下使用Chrome Version 84.0.4147.105 点击网页地址栏,地址栏消失的问题的一种间接办法
创建型模式-工厂方法模式
envsubst批量替换环境变量实现配置文件自动修改
构建webproc镜像
MySQL脚本导出导入
pod 挂载 ceph pvc 更新,pod不释放,新pod无法挂载
k8s 强制删除pod pvc namespace
k8s 部署 traefik1.7
nginx ingress 使用 tls 证书
热门文章
日志收集系统loki部署
使用 Sysdig Falco 和 Kubernetes 设置运行时容器安全监控
Jenkins SonarQube 部署
k8s Downward API
C#结构体Struct的序列化和反序列化
【转】多个combobox绑定同一个数据源,出现同步选择问题
【转】C# Nginx平滑加权轮询算法
从非理性思维到理性思维
怎么判断一个行业有没有前途?
为什么真正厉害的高手,都懂得及时止损?
Copyright © 2011-2022 走看看