メインコンテンツまでスキップ

2.2.5. リクエストターゲット (Request Target)

2.2.5. リクエストターゲット (Request Target)

@request-target 派生コンポーネントは, [HTTP] の 7.1 節で定義されるとおり, HTTP リクエストメッセージの完全なリクエストターゲットを指す. リクエストターゲットのコンポーネント値は, 後述のとおりリクエストの種類によって異なる形を取り得る.

HTTP/1.1 では, コンポーネント値はリクエスト行のリクエストターゲット部分と等価である. ただし, 他のバージョンの HTTP ではこの値を確実に構築するのはより困難である. したがって, 1.1 以外の HTTP バージョンが用いられる可能性がある場合にこのコンポーネントを使用することは推奨されない (NOT RECOMMENDED).

オリジン形式 (origin form) の値は, リクエスト URL の絶対パスとクエリコンポーネントの組合せである.

例えば, 次のリクエストメッセージ:

POST /path?param=value HTTP/1.1 Host: www.example.com

は次の @request-target コンポーネント値となる:

/path?param=value

および次の署名ベース行となる:

"@request-target": /path?param=value

完全修飾ターゲット URI を含む絶対形式 (absolute-form) の値を伴う HTTP プロキシへの次のリクエスト:

GET https://www.example.com/path?param=value HTTP/1.1

は次の @request-target コンポーネント値となる:

https://www.example.com/path?param=value

および次の署名ベース行となる:

"@request-target": https://www.example.com/path?param=value

ターゲットのホストとポートを含むオーソリティ形式 (authority-form) の値を伴う次の CONNECT リクエスト:

CONNECT www.example.com:80 HTTP/1.1 Host: www.example.com

は次の @request-target コンポーネント値となる:

www.example.com:80

および次の署名ベース行となる:

"@request-target": www.example.com:80

単一のアスタリスク (*) 文字を含むアスタリスク形式 (asterisk-form) の値を伴う次の OPTIONS リクエストメッセージ:

OPTIONS * HTTP/1.1 Host: www.example.com

は次の @request-target コンポーネント値となる:

および次の署名ベース行となる:

"@request-target": *