ドキュメント
a project

エンコード

構成されたエンコードを使用してレスポンスをエンコードします。エンコードの典型的な使用例は圧縮です。

構文

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 ステータスコードのリストです。特殊なケースとして、2xx3xx、... はそれぞれ 200-299、300-399 の範囲のすべてのステータスコードに一致します。

サポートされている構文については、ヘッダ リクエストマッチャーを参照してください。

Gzip 圧縮を有効にする

encode gzip

Zstandard と Gzip 圧縮を有効にする (Zstandard が最初に記述されているため、暗黙的に優先されます)

encode zstd gzip

完全なサイトで、file_server によって提供される静的ファイルを圧縮します

example.com {
	root * /srv
	encode zstd gzip
	file_server
}