はじめに
サイトを開発する上で「200・401・404」などのステータスコードは頻繁に遭遇すると思います。
新人の頃はステータスコードの重要性について無知でして、200でも201でもどっちでもいいじゃないか!!って思っていました。
しかし、ステータスコードはクライアントが仕様について詳しくなくても適切なコードを返すことで、おおよその問題を把握できることに役立ちますので疎かにしてはいけません。
今回は私自身ステータスコードを丸覚えしているわけではなく、実装中に調査する工数が発生していることを踏まえ備忘録として整理します。
200番台は成功
200番台はリクエストが成功したことを示します。
200 リクエスト成功
201 リクエストが成功し、新規リソースが作成
202 リクエスト成功
204 コンテンツなし
ステータスコード200番台はデータの取得に成功した場合やリクエスト処理が成功した場合に表示します。
ステータスコード200番台の詳細について
200と202はどちらのリクエスト成功した場合のステータスコードですが両者の違いはCreateかAcceptかです。
200(Create)は言葉の通りリクエストの処理が成功した場合ですが、202(Accept)はリクエスト処理が非同期で行われ、処理は受け付けたけど完了していない場合に表示されます。
201は新規投稿が完了した場合に表示します。
例えばコメント投稿画面でコメントが作成された場合などに表示されます。
204は処理は成功したが、レスポンスが空の場合に使用します。
例えば、削除リクエストに成功した場合です。
400番台はクライアントのリクエストに問題あり
400番台はクライアントに起因するエラーを示します。
400 リクエストが正しくない
401 認証が必要
403 アクセスが禁止されている
404 指定したリソースが見つからない
405 指定したメソッドを使うことができない
406 Accept関連のヘッダに受理できない内容が含まれる
408 リクエストが時間内に完了しなかった
409 リソースが矛盾した
410 指定したリソースは消滅した
413 リクエストボディが大きすぎる
414 リクエストされたURIが長すぎる
415 サポートしていないメディアタイプが指定された
429 リクエスト回数が多すぎる
ステータスコード400番代は種類が多いですね。
経験の浅い私ですが400番台の全てをみたわけではありません。笑
ですので、よく見るな〜てステータスコードだけ書いていきたいと思います。
ステータスコード400番台の詳細について
400はリクエストされてきたパラメーターに間違いがある場合に表示します。
401は言葉の通り認証が通っていないときに表示します。
403は特定のユーザーに対して、ある操作の権限を禁止することです。
例えば、ID:1のユーザーがID:2のユーザーのデータ取得を禁止するなどです。
404は最もポピュラーなエラーですよね。パソコンに触れた人は必ずみたことあるはずです。
405はメソッドのエラーです。データを取得(get)したいのに、postを指定している場合です。
409はコンフリクトエラーです。例えば、一意のIDを持つデータを作成するときにIDが重複すれば作成できないとエラーになります。
上記に書いていないステータスコードは見た記憶がありませんので割愛します。笑
今回は以上になります。