看java的java.util.zip里面gzip和deflate是分开的,也就是说各自压缩各自的,没有关联。
但是看网上对HTTP报文的压缩介绍,都是一块儿说的,gzip,deflate。。
这两个是一种压缩吗?能用一种算法解压和压缩吗?
之间是什么关系?我试了一下java里面的方法,这两种是没有办法互相解得。
那在web中,如果这两种都支持的话,网站会压缩哪一种?
谢谢啦~~
但是看网上对HTTP报文的压缩介绍,都是一块儿说的,gzip,deflate。。
这两个是一种压缩吗?能用一种算法解压和压缩吗?
之间是什么关系?我试了一下java里面的方法,这两种是没有办法互相解得。
那在web中,如果这两种都支持的话,网站会压缩哪一种?
谢谢啦~~
解决方案 »
- spring注解式事务加在方法上失败,求人指点!
- 求教基于B/S架构web远程控制
- 请给我一个Resin3.0.22 标准版的下载地址。
- jsp中我看不懂的代码
- 请较高手,在分布式web-application中,为何报这个错!
- inner类中out调用的一个小问题
- 关于在UTF-8编码的页面中调用内容为GB2312编码的问题?
- 我在JAVABEAN监听局域网服务器 随时得到流 ,当…………
- 帮我理个学习JAVA WEB思路
- 通过servlet跳转到另一个jsp页面时,地址栏里怎么显示的还是servlet的地址?
- 利用数据库连接在jsp页面中创建数据库表,字段列数、字段名、类型都由用户确定
- 做网页时出的问题
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。
我现在用java.util.zip里面的deflate和inflate进行压缩和解压deflate格式
用GZIPOutputStream和GZIPInputStream进行压缩和解压gzip格式这样可以吗??
如果哪位知道如何对这两种压缩进行处理的包或者代码就更好啦。。谢谢~