INDEX
204 No Contentについて
204 No Contentの概要
コンテンツなしの成功応答を示すHTTPステータスコード | ||
204 No Content 概要 204 No Contentは、リクエストが正常に処理されたものの、レスポンスボディに返すべき内容がない場合に使用されるHTTPステータスコードです。このコードは、リクエストに対するレスポンスとして、追加のデータを返す必要がない場合に適しています。 |
||
意味 クライアントのリクエストは正常に処理されましたが、レスポンスボディには何も返されません。 |
204 No Contentはどのような時に返されるか
- リクエストが成功したが、返すべきデータがない場合
- サーバーがリクエストを受理し、リソースの状態に変化がない場合
- 非同期処理をトリガーするだけで、即座にレスポンスを必要としない場合
204 No Contentの具体例
リソースの更新リクエスト
PUT /api/resource/123 HTTP/1.1 Host: example.com Content-Type: application/json { "name": "Updated Resource", "status": "active" }
レスポンス例:
HTTP/1.1 204 No Content
解説: クライアントがPUTリクエストでリソースを更新し、リクエストが成功した場合に返されることがあります。この場合、サーバーはレスポンスボディを返す必要がなく、204ステータスコードのみで成功を通知します。
リソースの削除リクエスト
DELETE /api/resource/123 HTTP/1.1 Host: example.com
レスポンス例:
HTTP/1.1 204 No Content
解説: クライアントがDELETEリクエストでリソースを削除し、削除が成功した場合に返されます。この場合も、削除の成功を通知するだけで追加情報を返す必要がないため、204が使用されます。
注意点
204 No Contentを返す際の注意点:
- レスポンスボディを含めない
204レスポンスには、ボディが含まれていない必要があります。ボディが含まれるとクライアントが混乱する可能性があります。 - ヘッダーの適切な設定
コンテンツ関連のヘッダー(例:Content-Type
やContent-Length
)を省略または正しく設定してください。
関連するHTTPステータスコードとの比較
204 No Contentと関連性のあるステータスコードについて解説します。
- 200 OK: リクエストが成功し、レスポンスボディにデータが含まれる場合に使用されます。
- 202 Accepted: リクエストが受理されたが、処理がまだ完了していない場合に使用されます。
これらの違いを理解することで、適切な用途で204ステータスコードを利用できます。