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的几点区别
查看全文
相关阅读:
令人眼花缭乱的XP封面:)
GT3.9.5中新增的DRS服务
4月12日后WinXP系统将会强制下载SP2(zz)
全球手机排名出炉 摩托三星西门子位置调整(zz)
元宵佳节,悬谜竞猜
Laszlo平台简介(zz)
笔记本市场见闻
最近Wallop好像较难上去啊
Dell再次表示不采用AMD处理器(zz)
Media Player Classic 6.4.8.3发布(zz)
原文地址:https://www.cnblogs.com/androidsj/p/5474584.html
最新文章
Linux琐碎记录之统计源码的行数
leveldb之编译顺序导致的邪门问题。
C语言算法碎碎记录之“一圈人,数到几的人就出去,最后一个是几号”
行业软件之PTV微观软件VISSIM4.3 5.0 5.1 5.2 5.3 5.4下载和相关资料
C++之使用C的代码。由C向C++过度
生活琐碎之淘宝账号安全和交易安全1账号被盗用,淘宝被别人卖东西
eclipse零碎记录之linux下的eclipse(cdt)Makefile项目的配置
nosql之leveldb之概况
软件之Notepad++已停止工作(win7,unicode版本,插件问题)
C语言琐碎记录之#define宏的用法【顺便提提 __FILE__,__LINE__的用法】
热门文章
linux琐碎记录之 numberLock指示灯设置
linux多线程编程之线程安全 mutex锁的使用
开题——网格数据传输及管理的研究背景:)
令人眼花的笔记本代号
发现在博客园排名68,继续努力中……
忙了一天,不知所措
各种奇怪的邀请
EMail Icon Generator
Google Help: Cheat Sheet
今天投出了第一篇英文论文
Copyright © 2011-2022 走看看