我打算在从java客户机发送到服务器时使用java.util.zip压缩http发布数据(本例中为java servlet)。 这是减少数据负载的最佳方法吗?
我应该使用gzip作为压缩算法吗?在java http客户机中压缩非二进制数据
1
A
回答
1
可能使用简单的算法很容易压缩基于标签的数据。
对于每个唯一的标签或属性名称,分配ID,用ID替换标签,存储ID和标签名称在单独的文件中,然后压缩为zip。
然后,只需将您的标记ID替换为从zip解压缩后在单独文件中获得的标记名称即可。
(你不必使用两个文件,你可以做到这一点在同一个文件)
您也可以为个别“字”的标签或属性的内部此方法。
这需要多一点时间,而不仅仅是压缩它,但对于大量重复文本的大中型文件,它可以节省大量的要传输的数据。
我不知道在'http post data'中定义了什么,但是如果它只是标记,可能有类似的算法。
0
HTTP的两个标准压缩Content-Encoding值是gzip和deflate。
我在使用从Java服务器deflate切换到gzip的IE 8时遇到了问题。我没有时间进一步调查,但当时我有一个印象,要么(a)需要Java DeflaterOutputStream
的简单输出,比如一些额外的包装,或者(b)有需要的选项以确保正确的互操作性。
以我的经验gzip压缩文本内容非常好,我一直在与Content-Type: gzip
和GZIPOutputStream
工作,对IE,FF和Chrome多年来没有问题。
相关问题
- 1. 客户端数据压缩/解压缩?
- 2. 二进制积分数据压缩
- 3. 如何压缩本地客户.nexe二进制文件
- 4. Android数据压缩机制?
- 5. 数据库中的二进制数据,blob与压缩的base64
- 6. 压缩二进制文件
- 7. 在SVN中压缩二进制文件?
- 8. 在sql server中压缩二进制数据
- 9. Akka-Http客户端:如何从http响应中获取二进制数据?
- 10. Javascript客户端数据压缩
- 11. 快速的方法来压缩二进制数据?
- 12. Java节俭客户端和二进制数据
- 13. 数据压缩Http 1.1
- 14. HTTP/2数据压缩
- 15. ISO 8583消息中的打包二进制数据和解压缩二进制数据是什么?
- 16. 解压缩GZIP http响应(使用jersey客户端api,java)
- 17. AVRO压缩数据的二进制编码?
- 18. 如何将二进制数据写入压缩文件
- 19. 在python中打包和解压缩二进制浮点数
- 20. 读取/写入压缩的二进制数据
- 21. .NET使用压缩和非压缩数据压缩文件
- 22. iphone二进制文件无法压缩
- 23. 在Java中解压缩GZIPed HTTP响应
- 24. 在java中压缩HTTP请求
- 25. 在流式HTTP客户端之间共享DEFLATE压缩的数据块
- 26. 在java中的字符串数据的压缩和解压缩
- 27. 如何在长二进制值(超过64位)上执行二进制压缩
- 28. 如何在Worklight Web客户端获取二进制数据
- 29. 从python中的二进制文件中提取zlib压缩数据
- 30. 非对称的java压缩
这不太可能产生比GZip或Zip压缩更好的结果,并且还有很多工作要做。 – 2010-06-15 18:09:00
@软件猴子此方法适用于大量的重复数据。在此操作之后,您当然会使用GZip或Zip数据。 Excel的XSLX文件使用此方法压缩文件比zip更进一步。 – Meiscooldude 2010-06-15 18:15:19
我的观点是,这基本上是zip-type算法的作用,他们很可能做得更好。那为什么要麻烦? – 2010-06-22 19:27:55