Разрешено ли тело ответа для HTTP-запроса на удаление?


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

2 66

2 ответа:

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

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

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

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

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

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

9.7 удалить

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

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

Если запрос проходит через кэш и запрос URI идентифицирует один или больше в настоящее время кэшированных сущностей, те записи должны рассматриваться как устаревшие. Ответы на этот метод не кэшируемый.