我打算在从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. 数据库中的二进制数据,blob与压缩的base64
- 5. 在SVN中压缩二进制文件?
- 6. 在sql server中压缩二进制数据
- 7. Javascript客户端数据压缩
- 8. 快速的方法来压缩二进制数据?
- 9. 数据压缩Http 1.1
- 10. HTTP/2数据压缩
- 11. 解压缩GZIP http响应(使用jersey客户端api,java)
- 12. AVRO压缩数据的二进制编码?
- 13. 在python中打包和解压缩二进制浮点数
- 14. 读取/写入压缩的二进制数据
- 15. iphone二进制文件无法压缩
- 16. 在java中压缩HTTP请求
- 17. 在Java中解压缩GZIPed HTTP响应
- 18. 在java中的字符串数据的压缩和解压缩
- 19. 通过http接收二进制数据
- 20. ServiceStack客户端压缩
- 21. 使用二进制压缩布尔数组
- 22. 在Visual Studio 2010中使用C#webservice客户端进行压缩
- 23. HTTP压缩 - 我可以配置客户端压缩发送到服务器的数据吗?
- 24. 如何在Java中使用LZMA SDK进行压缩/解压缩
- 25. 解压ZIP压缩的二进制字符串
- 26. 确定在blob /二进制数据上使用的压缩方法
- 27. nio Java中的HTTP解压缩
- 28. 二进制与非二进制强化java
- 29. 如何使用java异步http客户端(ning)库POST POST二进制字节
- 30. 如何在Python中解压二进制十六进制格式的数据?
这不太可能产生比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