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的几点区别
查看全文
相关阅读:
帮助你生成分享和显示社交媒体网络按钮的jQuery插件 #50C1AL java程序员
Storyboard多View的切换 [xcode 4.4.1]
ObjectiveC Enum 枚举数据类型解析
在IOS中使用KeychainItemWrapper保存用户名和密码实现记住密码功能
10个迷惑新手的Cocoa&Objectivec开发问题
关于分类(category)和类的扩展(extensions)的验证
解决mac创建的压缩包,window下解压乱码的问题
xcode快捷键大全
解决Shockwave flash在chrome浏览器上崩溃的问题
嵌入式内核与文件系统烧写
原文地址:https://www.cnblogs.com/androidsj/p/5474584.html
最新文章
[HNOI2009]最小圈
[FJOI2007]轮状病毒
CF487E Tourists
[圆方树学习笔记]
[HNOI2010]弹飞绵羊
[APIO2018] Duathlon 铁人两项
[Codeforces Global Round 14]
Redirect a new page in javabean
How to check a string is email format
Is it possible to change A Menu Item's Type?
热门文章
How to set context param in web.xml
使用浏览器生成超棒的midi音乐 midi.js java程序员
拥有大量特性的前端框架 Maxmertkit java程序员
超棒的前端开发界面套件 InK java程序员
CSS技巧荟萃:了解CSS页面布局和加载流程 java程序员
一个超酷的横向多列响应式布局效果 java程序员
android中数组的定义与使用 java程序员
android:ListView使用总结 java程序员
用户体验超棒并且功能强大使用简单的javascript表单验证 Parsley.js java程序员
20个2013年最值得关注的网页设计趋势 java程序员
Copyright © 2011-2022 走看看