🤯
ステータスコード全然わからない
Social Databank Advent Calendar 2024 の 16 日目です。
こんにちは
ステータスコード使いこなしてますか?
200,201,202,204のステータスコードの違いを空で言えますか?
言えたらすごいです!
私はステータスコードが何使って良いのかわからない勢なので、覚えておくと自慢できそうなステータスコードをまとめます!?
RFC9110をチラ見しながら作成していきます。
早見表
ステータスコード | 名前 | 説明 |
---|---|---|
200 | OK | リクエスト成功 |
201 | Created | リクエストの成功して1個以上のリソースが作られた。(Postメソッドへのレスポンス) |
202 | Accepted | リクエストは受理されたが、処理は非同期に処理される。処理が許可されないかも。 |
204 | No Content | リクエストの成功。レスポンスは空。[1] |
300 | Multiple Choices | データが複数あって一つに絞れない。もっと良いURIがあったらLocationフィールドでかえす。 |
301 | Moved Permanetly | URIの恒久的な変更。Locationヘッダーに移動先が含まれる。[2] |
302 | Found | 一時的なURIの変更。Location同上。 |
303 | See Other | Locationヘッダでリダイレクトを促してる。GetもしくはHeadのメソッドを使うように指定。 |
304 | Not Modified | ブラウザ側の持つキャッシュデータからの変更がない。 |
307 | Temporary Redirect | 一時的な変更。Locationヘッダ指定のURIに移動する際にはメソッド変更を許さない。 |
308 | Permanent Redirect | 永続的な変更。Locationヘッダ指定のURIに移動する際にはメソッド変更を許さない。 |
400 | Bad Request | 400番台の他のコードで表現できないエラー[3] |
401 | Unauthorized | 認証エラー |
403 | Forbidden | 認可エラー |
404 | Not Found | データが存在しない。何が存在しないかは人によって解釈が広い。 |
405 | Method Not Allowed | URIは存在してても、メソッドが許可されていない。 |
406 | Not Acceptable | JSONやXMLなどのレスポンスとして返すデータ形式に対応してない。 |
408 | Request Timeout | サーバサイドのタイムアウト |
409 | Conflict | ID指定の新規作成の際にIDが被ってる。メアド被りなど。 |
410 | Gone | かつてはあったURIだがもうなくなってる。 |
413 | Request Entity Too Large | リクエストのボディがデカすぎる |
414 | Request-URI Too Long | リクエストのクエリパラメータがデカすぎる |
415 | Unsupported Media Type | 送られてきたデータ形式に対応できない |
429 | Too Many Requests | リクエストのレートリミットを超えている |
500 | Internal Server Error | サーバサイドでバグってエラーを吐いている |
503 | Service Unavailable | 意図的にせよ、意図的でないにせよサーバが一時的に利用できない |
ステータスコードの大分類
ステータスコードの最初の100の位の桁は大まかな意味を持っています。
200番台
成功
300番台
追加処理の必要性
400番台
クライアントに問題あり
500番台
サーバーサイドに問題あり
まとめに変えて
改めてステータスコードを勉強すると、キャッシュだったりヘッダーだったりETagだったりと勉強することがいっぱいあります。
併せてオライリーのWeb API the good partsなども読んでみましたが、より理解を深めることができます!
私の推しステータスコードは304です。
Discussion