Ответ
Статус-код 204 No Content указывает, что сервер успешно обработал запрос, но не возвращает никакого содержимого в теле ответа.
Типичные сценарии использования:
- Успешный DELETE-запрос: Ресурс удалён, возвращать больше нечего.
- Успешный PUT/PATCH-запрос: Обновление прошло успешно, и клиенту не требуется новое представление ресурса (например, если он отправил все данные).
- Операции, не создающие контент: Например, отправка данных формы, которая просто обновляет состояние на сервере без необходимости перенаправления.
Пример HTTP-диалога:
DELETE /api/users/123 HTTP/1.1
Host: example.com
Authorization: Bearer token123
HTTP/1.1 204 No Content
Date: Mon, 01 Jan 2024 12:00:00 GMT
Server: Apache
Обратите внимание: после строки статуса и заголовков сразу идёт пустая строка, обозначающая конец заголовков и отсутствие тела ответа.
Ключевые особенности и требования:
- Пустое тело: Ответ не должен содержать тело сообщения. Клиент должен игнорировать любое переданное тело.
- Заголовки: Ответ может (и часто должен) содержать полезные заголовки, такие как
Date,Server,ETag(если ресурс обновлён) илиLocation(если операция создала ресурс в другом месте — хотя для этого чаще используется201 Created). - Семантика для клиента: Клиент не должен обновлять текущее документное представление (например, страницу в браузере), так как сервер явно сообщает, что нового контента нет. Это отличает
204от200 OKс пустым телом, которое может трактоваться как успешное получение «пустого» ресурса.