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 的值,表示壓縮器視窗大小的二進位對數。較大的視窗會以記憶體使用為代價來提供更好的壓縮率。預設值為 12,會產生 4096 位元組的視窗。如需關於此參數的更多詳細資訊,請參閱 zlib 手冊 > deflateInit2。
- chunk_size
(UInt32Value) Zlib 下一個輸出緩衝區的值。如果未設定,則預設為 4096。如需更多詳細資訊,請參閱 https://www.zlib.net/manual.html。另請參閱 https://github.com/envoyproxy/envoy/issues/8448 以取得關於此篩選器效能的背景資訊。
列舉 extensions.compression.gzip.compressor.v3.Gzip.CompressionStrategy
[extensions.compression.gzip.compressor.v3.Gzip.CompressionStrategy proto]
此列舉的所有值都直接轉換為 zlib 的壓縮策略。如需關於每個策略的更多資訊,請參閱 zlib 手冊。
- DEFAULT_STRATEGY
(預設)
- FILTERED
- HUFFMAN_ONLY
- RLE
- FIXED
列舉 extensions.compression.gzip.compressor.v3.Gzip.CompressionLevel
[extensions.compression.gzip.compressor.v3.Gzip.CompressionLevel proto]
- DEFAULT_COMPRESSION
(預設)
- 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