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的几点区别
查看全文
相关阅读:
DB2创建序列
hibernate注解影射表
自定义异常类一
【JVM】java方法区
【JVM】java棧
(2)java堆内存
(1)java虚拟机概念和结构图
枚举应用五
设计模式之命令模式学习理解
eclipse中javadoc给项目生成api文档
原文地址:https://www.cnblogs.com/androidsj/p/5474584.html
最新文章
【leetcode】3Sum (medium)
【leetcode】Binary Tree Maximum Path Sum (medium)
【leetcode】Convert Sorted Array to Binary Search Tree (easy)
【leetcode】Subsets (Medium) ☆
【leetcode】Binary Tree Postorder Traversal (hard) ☆
【leetcode】Minimum Depth of Binary Tree (easy)
D3D triangle list(三角形列) 小样例
Linux Terminal fortune
Scala入门到精通——第一节 Scala语言初步
Maven学习--------基础2
热门文章
webbench压力測试工具
Linux GDB程序调试工具使用简单介绍
命令行使用Eclipse的debug签名失败“找不到 xx.keystore证书链”
C++:探究纯虚析构函数以及实现数组的高速排序与链表的归并排序
Ural 1167 Bicolored Horses (DP)
spring boot servlet 注入
springboot 注入Servlet,Filter,Listener的方法
spring @condition 注解
比例选举
Ehcache 整合Spring 使用页面、对象缓存
Copyright © 2011-2022 走看看