我计划使用java.util.zip压缩http post数据,当它从java客户端发送到服务器时(在本例中为java servlet)。
这是减少数据负载的最佳方法吗?
我应该使用gzip作为压缩算法吗?
答案 0 :(得分:1)
可能使用简单的算法可以非常轻松地压缩基于标签的数据。
对于每个唯一标记或属性名称,分配ID,将ID,商店ID和标记名称替换为单独的文件,然后压缩为zip。
然后,只需将标签ID替换为从zip解压缩后在单独文件中获得的标签名称。
(你不必使用两个文件,你可以在同一个文件中使用)
您也可以为标签或属性中的单个“单词”执行此方法。
这比压缩它需要更多的时间,但是对于具有大量重复文本的中型到大型文件,它可以节省大量要传输的数据。
我不知道'http post data'中定义了什么,但是如果只是标签,类似的算法可能会有用。
答案 1 :(得分:0)
HTTP的两个标准压缩Content-Encoding值是gzip和deflate。
我在使用Java服务器中的deflate并切换到gzip时遇到了IE 8的问题。我没有时间进一步调查,但我当时的印象是:(a)需要多于Java DeflaterOutputStream
的简单输出,比如一些额外的包装,或者(b)有需要设置的选项,以确保正确的互操作性。
根据我的经验,gzip压缩文本内容非常好,我一直在使用Content-Type: gzip
和GZIPOutputStream
对IE,FF和Chrome多年没有任何问题。