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的几点区别
查看全文
相关阅读:
hdu 1231 最大连续子序列
数据加载初始化问题
分页查询
PHP-引入文件(include)后,页面错位,不居中解决办法
数据库中的事务和锁(乐观、悲观锁,共享、排他锁,死锁)
java操作excel 工具类
微信公众号处理
java实用资料
【转】字符流和字节流的区别,使用场景,相关类
基于redis分布式锁实现“秒杀”
原文地址:https://www.cnblogs.com/androidsj/p/5474584.html
最新文章
iostat 命令详解
磁盘相关知识
top命令详解
tomcat运行模式
nginx内置变量 大全
day05(面向对象开始)
day04(函数)
day03(流程控制语句)
day02(运算符)
day01
热门文章
考研后的心得感受与总结
Mysql中文乱码问题
struct和typedef struct
Web安全测试中常见逻辑漏洞解析(实战篇)
IDEA工具与第三方工具集成
Java基础/Socket.io双向通信
ActiveMQ学习教程/2.简单示例
ActiveMQ学习教程/1.简要介绍与安装
网站统计中的数据收集原理及实现
NYOJ 824 Greedy Mouse
Copyright © 2011-2022 走看看