代码之家  ›  专栏  ›  技术社区  ›  MOnsDaR

无状态压缩和有状态压缩的区别?

  •  3
  • MOnsDaR  · 技术社区  · 15 年前

    在“过滤”(向下滚动约50%)一章中 article 关于远程调用框架有两种压缩方式:

    • ZLib无状态压缩
    • ZLib状态压缩

    它们之间有什么区别?它是与ZLib相关的还是这些常见的压缩方法?

    在搜索时,我只能找到有状态和无状态的web服务。属性stateless/ful不是用来描述压缩方法的吗?

    3 回复  |  直到 15 年前
        1
  •  3
  •   Jakub Konecki    15 年前

    Transport Layer Security Protocol Compression Methods

    与TLS can一起使用的压缩方法 始终保持状态 压缩记录)或无状态 (压缩机压缩每个记录 但似乎 使用 中的无状态压缩方法 TLS公司。

    一些压缩方法有
    压缩和 正在解压缩数据包有效负载。这个
    达到的压缩比 与每个包相比的流 压缩,但保持
    包之间的历史记录意味着 数据包可能包含 完全解压缩包含的数据 在另一个包里。历史 因此,维护需要 可靠的链路和顺序包 协议提供了可靠的, 历史信息可能是 通过压缩方法。

        2
  •  3
  •   Vinko Vrsalovic    15 年前

    一般来说,无状态描述没有过去事件的内存的任何进程,而有状态描述有这样一个内存的任何进程(并使用它来做决定)

    在压缩中,无状态意味着它看到的任何数据块都会压缩,而不依赖于以前的输入。它速度更快,但通常压缩得更少;有状态压缩查看以前的数据以决定如何压缩当前数据,它速度较慢,但压缩得更好。

        3
  •  3
  •   MSalters    15 年前

    Zlib是一种自适应的压缩算法。所有的压缩算法都能工作,因为它们处理的数据并不完全是随机的。相反,它们的输入数据具有可利用的非均匀分布。以英语文本为例。那封信 e 比这封信更常见 q . Zlib将检测到这一点,并使用较少的位作为字母 e类

    现在,当您发送大量短文本消息时,并且您知道它们都是英文的,您应该使用Zlib statefull压缩。它将保持字母的低位表示 e类 所有信息。但如果有中文、日文、法文等混合的消息,有状态压缩就不再那么聪明了。会有几封信 在日语文本中。无状态压缩将检查每个消息中哪些字母是常见的。ZLib无状态压缩的一个众所周知的例子是PNG文件格式,它在两个不同的图像之间不保持任何状态。