c++ - 无状态和有状态压缩之间的区别?

标签 c++ web-services compression zlib rcf

article 中的过滤器一章(向下滚动 ~50%)关于Remote Call Framework,提到了2种压缩方式:

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

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

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

最佳答案

来自 Transport Layer Security Protocol Compression Methods :

Compression methods used with TLS can be either stateful (the compressor maintains it's state through all compressed records) or stateless (the compressor compresses each record independently), but there seems to be little known benefit in using a stateless compression method within TLS.

Some compression methods have the ability to maintain history
information when compressing and decompressing packet payloads. The
compression history allows a higher compression ratio to be achieved on a stream as compared to per-packet compression, but maintaining a
history across packets implies that a packet might contain data needed to completely decompress data contained in a different packet. History maintenance thus requires both a reliable link and sequenced packet delivery. Since TLS and lower-layer protocols provide reliable, sequenced packet delivery, compression history information MAY be maintained and exploited if supported by the compression method.

关于c++ - 无状态和有状态压缩之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3994244/

相关文章:

c++ - 将 RxCpp 添加到 C++ Bazel 项目

C++ 不会告诉您动态数组的大小。但为什么?

c++ - Qt 似乎使用了很多线程

mysql - 使用 Jersey(JAX-RS)、mySQL 和 Eclipse 开发 Java Web 服务

web-services - @QueryParam 未设置值

asp.net-mvc - 设置 IIS7 gzip 压缩级别

stream - 比特流的压缩算法

c# - 编写方法 ByteSwap 但未按计划工作

java - 如何在 Java 中正确实现 LZ4、Snappy 或等效的压缩技术?

C#/IRS ACA - 使用 WCF 4.5 发送带有 MTOM 附件和 GZip 编码的 Web 服务请求