ネットワーク
RESTful API設計の原則として最も適切なものはどれか。
ア.エンドポイントのURLにはHTTPメソッドを含める(例: /getUserById, /deleteUser)
イ.ステートレス(Stateless):サーバはクライアントのセッション状態を保持せず、各リクエストは独立して完結する正解
ウ.GETリクエストでもリクエストボディにデータを含めてサーバに送信することが推奨される
エ.バージョン管理は不要で、APIは常に後方互換性を破壊してよい
解説
RESTのステートレス原則は「記憶力ゼロのウェイター」みたいなもの。毎回「ハンバーガーセット、ポテトはLサイズ、飲み物はコーラ」と全部言い直さなければならない。面倒に見えるが、どのウェイター(サーバインスタンス)が担当しても同じサービスができる→スケールアウトが簡単!
なぜ イ が正解か
RESTful APIの6つの制約条件の中核:①ステートレス:各HTTPリクエストは完全に独立し、前のリクエストの状態に依存しない。認証情報も毎回送る(Bearerトークン等)②その他の原則:リソース指向のURL(/users/123)、HTTPメソッドによる操作の表現、統一インターフェース、階層化システム、キャッシュ可能性。ステートレスにより水平スケールアウトが容易になる。
出典: AI生成問題(学習用)