204 No Content
HTTP の 204 No Content
は成功レスポンスステータスコードで、リクエストが成功したものの、クライアントが現在のページから移動する必要がないことを示します。
204
のレスポンスは既定ではキャッシュ可能であり、そのような場合は ETag
ヘッダーが含まれます。
これらのリクエストメソッドに対するレスポンスが 204 No Content
である場合、次の意味と結果が指定されています。
これは例えば、ウィキサイトで「保存して編集を続ける」機能を実装するときに使用される可能性があります。
この場合、ページを保存するために PUT
リクエストが使用されますが、エディターが他のページに置き換えられるべきではないことを示すために 204 No Content
レスポンスが送信されるものです。
ステータス
204 No Content
例
画像を削除した後にレスポンスを受信
この例では、クライアントが DELETE
メソッドを使用して画像を削除するリクエストを送信します。
リクエストには、リクエストを認証するためのトークンを含む Authorization
ヘッダーが含まれます。
DELETE /image/123 HTTP/1.1
Host: example.com
Authorization: Bearer 1234abcd
画像の削除に成功すると、サーバーは本体なしの 204
レスポンス(および明示的な Content-Length: 0
ヘッダー)を返します。これは、クライアントに送信する必要がある追加の情報がないことを示しています。
HTTP/1.1 204 No Content
Date: Wed, 26 Jun 2024 12:00:00 GMT
Server: Apache/2.4.1 (Unix)
Content-Length: 0
仕様書
Specification |
---|
HTTP Semantics # status.204 |
互換性のメモ
このステータスコードは、本文のないレスポンスを意図していますが、サーバーがヘッダーの後に誤ってデータを含めることがあります。このモンダイは、永続化された接続で見られ、不正な本体に、その後のリクエストに対する明確なレスポンスが含まれることがあります。
HTTPプロトコルでは、このようなレスポンスをさまざまに処理するようブラウザーに許可しています(HTTPWG http-core
GitHub repository には仕様書のテキストに関する進行中の議論があります)。
Apple Safari はそのようなデータを拒否します。 Google Chrome と Microsoft Edge は、有効なレスポンスの前にある無効な最大 4 バイトを破棄します。 Firefox は、有効なレスポンスの前にある 1 キロバイトを超える無効なデータを許容します。