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