Подтвердить что ты не робот

Является ли тело ответа разрешенным для HTTP-DELETE-запроса?

Я предполагаю, что код ответа 200 всегда разрешает тело ответа, но я не могу найти явного упоминания тел-ответчиков для DELETE-запросов.

4b9b3361

Ответ 1

Здесь явно упоминается в RFC

Короткий ответ:

Вы должны включать тело ответа с сущностью, описывающей удаленный элемент/ресурс, если вы возвращаете 200.

202 - это нечто похожее на статус асинхронного запроса/ответа.

204 явно говорит, что вы не включаете тело ответа

Ответ 2

Да, вы обычно должны отвечать кодом ответа 200 в соответствии с спецификацией W3C:

9.7 УДАЛИТЬ

Метод DELETE запрашивает, чтобы исходный сервер удаляет ресурс идентифицированных Request-URI. Эта метод МОЖЕТ быть переопределен вмешательства (или других средств) на источник сервер. Клиент не может быть что операция была выполняется, даже если код состояния возвращен с сервера происхождения указывает, что действие было успешно завершена. Однако сервер НЕ ДОЛЖЕН указывать на успех если в момент ответа данный, он намерен удалить ресурса или переместить его в недоступную местоположение и др.

Успешный ответ ДОЛЖЕН быть 200 (ОК), если ответ включает объект, описывающий статус, 202 (Принято), если действие еще не выполнено были приняты или 204 (без содержания), если действие было принято, но ответ не включает объект.

Если запрос проходит через кеш и Request-URI идентифицирует один или в настоящее время кэшированные объекты, те записи ДОЛЖНЫ относиться как к устаревшим. Ответы на этот метод не кэшируется.