ユーザー一覧を role=admin で絞り込む条件はどこに置くのが適切?
正答
- GET のリクエスト本文に JSON として入れる
- POST の本文に入れて /users へ送る
- カスタムヘッダー X-Role: admin に入れる
- GET のクエリ文字列(/users?role=admin)に置く
解説
取得条件(フィルタ・ソート・ページ番号など)は URL のクエリ文字列に置くのが慣例。URL だけで結果が決まるためブックマークやキャッシュが効き、ログからも何を取ったか分かる。GET に本文を付けることは仕様上禁止ではないが多くのサーバーやプロキシが無視するため使わない。POST は作成や副作用のある処理向けで、単なる検索に使うとキャッシュされず意図も伝わりにくい。認証情報ならヘッダーだが、検索条件をヘッダーに置く慣例は無い。
この問題を含む HTTP・Web 基礎 のテストを制限時間つきで解く
HTTP・Web 基礎クイズへ