Gzip 压缩器(proto)
此扩展的限定名称为 envoy.compression.gzip.compressor
注意
此扩展旨在对不可信的下游流量具有鲁棒性。它假设上游是可信的。
提示
此扩展扩展了以下扩展类别,并且可以与之一起使用
此扩展必须使用以下类型 URL 之一进行配置
extensions.compression.gzip.compressor.v3.Gzip
[extensions.compression.gzip.compressor.v3.Gzip proto]
{
"memory_level": {...},
"compression_level": ...,
"compression_strategy": ...,
"window_bits": {...},
"chunk_size": {...}
}
- memory_level
(UInt32Value) 从 1 到 9 的值,控制 zlib 使用的内部内存量。较高的值使用更多内存,但速度更快,并且可以产生更好的压缩结果。默认值为 5。
- compression_level
(extensions.compression.gzip.compressor.v3.Gzip.CompressionLevel) 用于选择 zlib 压缩级别的值。此设置将影响应用于内容的速度和压缩量。“BEST_COMPRESSION” 提供更高的压缩率,但延迟更高,等效于“COMPRESSION_LEVEL_9”。“BEST_SPEED” 提供较低的压缩率,对响应时间的影响最小,与“COMPRESSION_LEVEL_1” 相同。“DEFAULT_COMPRESSION” 在速度和压缩之间提供了最佳结果。根据 zlib 的手册,此级别与“COMPRESSION_LEVEL_6” 的结果相同。如果未指定,此字段将设置为“DEFAULT_COMPRESSION”。
- compression_strategy
(extensions.compression.gzip.compressor.v3.Gzip.CompressionStrategy) 用于选择 zlib 压缩策略的值,该策略与内容的特征直接相关。大多数情况下,“DEFAULT_STRATEGY” 将是最佳选择,它也是参数的默认值,尽管在某些情况下更改此参数可能会产生更好的结果。例如,当已知内容具有相同数据连续多次出现的序列时,通常使用行程长度编码 (RLE)。有关每种策略的更多信息,请参阅 zlib 手册。
- window_bits
(UInt32Value) 从 9 到 15 的值,表示压缩器窗口大小的以 2 为底的对数。较大的窗口会导致更高的压缩率,但会以内存使用量为代价。默认值为 12,将生成 4096 字节的窗口。有关此参数的更多详细信息,请参阅 zlib 手册 > deflateInit2。
- chunk_size
(UInt32Value) Zlib 的下一个输出缓冲区的值。如果未设置,则默认为 4096。有关更多详细信息,请参阅 https://www.zlib.net/manual.html。另请参阅 https://github.com/envoyproxy/envoy/issues/8448,了解有关此过滤器的性能的背景。
Enum extensions.compression.gzip.compressor.v3.Gzip.CompressionStrategy
[extensions.compression.gzip.compressor.v3.Gzip.CompressionStrategy proto]
此枚举的所有值都直接转换为 zlib 的压缩策略。有关每种策略的更多信息,请参阅 zlib 手册。
- DEFAULT_STRATEGY
(DEFAULT)
- FILTERED
- HUFFMAN_ONLY
- RLE
- FIXED
Enum extensions.compression.gzip.compressor.v3.Gzip.CompressionLevel
[extensions.compression.gzip.compressor.v3.Gzip.CompressionLevel proto]
- DEFAULT_COMPRESSION
(DEFAULT)
- BEST_SPEED
- COMPRESSION_LEVEL_1
- COMPRESSION_LEVEL_2
- COMPRESSION_LEVEL_3
- COMPRESSION_LEVEL_4
- COMPRESSION_LEVEL_5
- COMPRESSION_LEVEL_6
- COMPRESSION_LEVEL_7
- COMPRESSION_LEVEL_8
- COMPRESSION_LEVEL_9
- BEST_COMPRESSION