コンテンツにスキップ

HTTPリクエストレスポンスフィールド

Cloudflareルール言語は、これらのHTTPレスポンスフィールドをサポートしています。

http.response.code

http.response.code Integer

クライアントに返されるHTTPステータスコードを表します。これはCloudflare製品によって設定されるか、オリジンサーバーによって返されます。

例の値: 403

http.response.headers

http.response.headers Map<Array<String>>

HTTPレスポンスヘッダーをMap(または連想配列)として表します。

繰り返しヘッダーがある場合、配列はレスポンスに表示される順序でそれらを含みます。キーは小文字に変換されます。

  • デコーディング: デコーディングは行われません
  • 空白: 保存されます
  • 非ASCII: 保存されます

例:

any(http.response.headers["server"][*] == "nginx")

例の値:

{"server": ["nginx"]}

http.response.headers.names

HTTPレスポンス内のヘッダーの名前を表します。名前は事前処理されず、レスポンスで使用された元のケースを保持します。

ヘッダー名の順序は保証されませんが、http.response.headers.valuesと一致します。

重複するヘッダーは複数回リストされます。

  • デコーディング: デコーディングは行われません
  • 空白: 保存されます
  • 非ASCII: 保存されます

例:

any(http.response.headers.names[*] == "content-type")

例の値: ["content-type"]

http.response.headers.values

HTTPレスポンス内のヘッダーの値を表します。

値は事前処理されず、レスポンスで使用された元のケースを保持します。

ヘッダー値の順序は保証されませんが、http.response.headers.namesと一致します。

重複するヘッダーは複数回リストされます。

  • デコーディング: デコーディングは行われません
  • 空白: 保存されます
  • 非ASCII: 保存されます

例 1:

any(http.response.headers.values[*] == "application/json")

例の値 1: ["application/json"]

指定された演算子およびヘッダー値に入力された長さ/サイズに従ってレスポンスを一致させるためにも使用されます。

例 2:

any(len(http.response.headers.values[*])[*] gt 10)

例の値 2: ["このヘッダーの値は10バイトより長い"]

http.response.content_type.media_type

http.response.content_type.media_type String

レスポンスのContent-Typeヘッダーに基づいて、パラメータ(charsetなど)なしで小文字化されたコンテンツタイプ(サブタイプおよびサフィックスを含む)を表します。

例の値

Content-Typeヘッダーフィールド値
text/html”text/html”
text/html; charset=utf-8”text/html”
text/html+extra”text/html+extra”
text/html+extra; charset=utf-8”text/html+extra”
text/HTML”text/html”
text/html; charset=utf-8; other=value”text/html”

cf.response.1xxx_code

cf.response.1xxx_code Integer

1xxx Cloudflareエラーの特定のコードを含みます。このフィールドを使用して、同じHTTPステータスコードに関連する1xxxエラーを区別します。デフォルト値は0です。1xxxエラーのリストについては、Cloudflare 1XXXエラーのトラブルシューティングを参照してください。

例の値: 1020

cf.response.error_type

cf.response.error_type String

返されるレスポンス内のエラーのタイプを含む文字列です。デフォルト値は空の文字列("")です。

利用可能な値は次のとおりです。

  • managed_challenge
  • iuam
  • legacy_challenge
  • ip_ban
  • waf
  • 5xx
  • 1xxx
  • always_online
  • country_challenge
  • ratelimit

このフィールドを使用して、特定のタイプのエラー(たとえば、すべての1xxxエラーまたはすべてのWAFブロックアクション)に対してレスポンスをカスタマイズできます。