在关于远程调用框架的一篇文章中,第50%处有一个名为“Filters”的章节,提到了两种压缩方式:
在搜索时,我只能找到有状态和无状态的Web服务。这些属性难道不是用来描述压缩方法的吗?
- ZLib无状态压缩
- ZLib有状态压缩
在搜索时,我只能找到有状态和无状态的Web服务。这些属性难道不是用来描述压缩方法的吗?
来自传输层安全协议压缩方法:
TLS使用的压缩方法可以是有状态的(压缩器通过所有压缩记录维护其状态)或无状态的(压缩器独立地压缩每个记录),但在TLS中使用无状态压缩方法似乎没有什么已知的好处。
一些压缩方法在压缩和解压缩数据包有效载荷时具有维护历史信息的能力。压缩历史记录允许在流上实现更高的压缩比,而不是按数据包进行压缩,但是跨数据包维护历史记录意味着数据包可能包含用于完全解压缩不同数据包中包含的数据的数据。因此,历史记录维护需要可靠的链接和有序的数据包传递。由于TLS和较低层协议提供可靠的、有序的数据包传递,如果压缩方法支持,则可以维护和利用压缩历史信息。
通常,无状态(stateless)描述的是任何没有过去事件记忆的过程,有状态(stateful)则描述的是有这种记忆的过程(并使用它来做出决策)。
在压缩方面,无状态意味着它看到的任何数据块都会进行压缩,而不依赖于先前的输入。这样虽然更快,但通常压缩效果较差;有状态的压缩则查看以前的数据来决定如何压缩当前数据,虽然更慢但压缩效果更好。