エンコード
構成されたエンコードを使用してレスポンスをエンコードします。エンコードの典型的な使用例は圧縮です。
構文
encode [<matcher>] <formats...> {
# encoding formats
gzip [<level>]
zstd
minimum_length <length>
# response matcher single line syntax
match [header <field> [<value>]] | [status <code...>]
# or response matcher block for multiple conditions
match {
status <code...>
header <field> [<value>]
}
}
-
<formats...> は有効にするエンコード形式のリストです。複数のエンコードが有効になっている場合、エンコードはリクエストの Accept-Encoding ヘッダーに基づいて選択されます。クライアントに強い選好度 (q-factor) がない場合、サポートされている最初のエンコードが使用されます。
-
gzip Gzip 圧縮を有効にします。オプションで指定されたレベルで有効になります。
-
zstd Zstandard 圧縮を有効にします。
-
minimum_length レスポンスがエンコードされる必要がある最小バイト数 (デフォルト: 512)。
-
match レスポンスマッチャー です。一致するレスポンスのみがエンコードされます。デフォルトは次のようになります。
match { header Content-Type text/* header Content-Type application/json* header Content-Type application/javascript* header Content-Type application/xhtml+xml* header Content-Type application/atom+xml* header Content-Type application/rss+xml* header Content-Type image/svg+xml* }
レスポンスマッチャー
レスポンスマッチャーは、特定の基準によってレスポンスをフィルタリング (または分類) するために使用できます。
status
status <code...>
HTTP ステータスコードで。
- <code...> は HTTP ステータスコードのリストです。特殊なケースとして、
2xx
、3xx
、... はそれぞれ 200-299、300-399 の範囲のすべてのステータスコードに一致します。
header
サポートされている構文については、ヘッダ リクエストマッチャーを参照してください。
例
Gzip 圧縮を有効にする
encode gzip
Zstandard と Gzip 圧縮を有効にする (Zstandard が最初に記述されているため、暗黙的に優先されます)
encode zstd gzip
完全なサイトで、file_server
によって提供される静的ファイルを圧縮します
example.com {
root * /srv
encode zstd gzip
file_server
}