5. 署名の要求 (Requesting Signatures)
5. 署名の要求 (Requesting Signatures)
署名者はプロンプトなしにリクエストまたはレスポンスに署名を添付してもよいが, 潜在的な検証者が潜在的な署名者に対し Accept-Signature フィールドを用いて署名を期待することを通知することが望ましいことが多い.
Accept-Signature フィールドが HTTP リクエストメッセージで送られる場合, そのフィールドはクライアントがサーバに対し, 識別されたパラメータを用いてこのリクエストへのレスポンスに署名することを望んでいることを示し, ターゲットメッセージはこのリクエストへのレスポンスである. そのような署名交渉をサポートするリソースからのすべてのレスポンスは, キャッシュが別のリクエスト向けの署名付きレスポンスを返すのを防ぐため, キャッシュ不可とするか, Accept-Signature を列挙する Vary ヘッダフィールドを含めるべきである (SHOULD).
Accept-Signature フィールドが HTTP レスポンスメッセージで用いられる場合, そのフィールドはサーバがクライアントに対し, 識別されたパラメータでサーバへの次のリクエストに署名することを望んでいることを示し, ターゲットメッセージはクライアントの次のリクエストである. クライアントは同じサーバへの将来のリクエストについても同様に署名し続けてもよい.
Accept-Signature フィールドのターゲットメッセージは, Accept-Signature フィールドで示されたすべてのラベル付き署名を含み, それぞれが Accept-Signature フィールドの同一の識別されたコンポーネントを被覆しなければならない (MUST).
Accept-Signature フィールドの送信者は, ターゲットメッセージの種類に適した識別子のみを含めなければならない (MUST). 例えば, ターゲットメッセージがリクエストである場合, 被覆コンポーネントに @status コンポーネント識別子を含めてはならない.