代码之家  ›  专栏  ›  技术社区  ›  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文件格式,它在两个不同的图像之间不保持任何状态。

    推荐文章