4.3. Specifying Client Behaviour (クライアント動作の指定)
4.3. Specifying Client Behaviour (クライアント動作の指定)
クライアントの要件は, 実装が準拠するために何を行う必要があるかを定義します。クライアントの動作を指定するとき, 次のことを明確に定義することが不可欠です:
-
クライアントがどのリクエストを行うべきか, およびどのレスポンスを期待すべきか;
-
クライアントがどのプロトコル要素 (メソッド, ステータスコード, ヘッダーフィールド, コンテンツ) を送信し, 期待すべきか; および
-
クライアントが予期しないレスポンスをどのように処理すべきか。
仕様は, クライアントが明示的に指定されていないリクエストを行うことを禁止すべきではなく (SHOULD NOT), サーバーがそれらを受け入れることを禁止すべきでもありません。これによりアプリケーションが進化できます。
ただし, 仕様は期待に従わないサーバーからのレスポンスを処理することについてのガイダンスを提供すべきです (SHOULD)。たとえば, 仕様は, クライアントが 200 OK レスポンスを期待するリクエストを行ったが代わりに 404 Not Found レスポンスを受け取った場合, リクエストが失敗したと見なすべきであると言う可能性があります。