Как ваша служба обрабатывает запросы, полностью зависит от вас. Вы могли бы в основном создавать новые ресурсы при получении GET
запросов или удалять вещи с использованием OPTION
, хотя я настоятельно рекомендую не делать этого, так как это не соответствует протоколу поддержки (HTTP в этом конкретном случае) и, таким образом, нарушает основные ограничения REST. Обратите внимание, что служба RESTful всегда должна adhere to and respect the supported protocols.
Согласно RFC 7231, одной из основных различий между GET
и DELETE
является, что последний один удаляет ассоциацию из данного ресурса и его функциональности, а также, что возвращаемый ответ не кэшировать. Это может или не может удалить данные физически, однако влияние на последовательные операции DELETE
или GET
состоит в том, что удаленный ресурс не может быть получен далее. Последовательный запрос DELETE
выдается серверу независимо от предыдущего запроса. Если ресурс был удален ранее, служба должна уведомить клиента с ответом об ошибке propper 404 Not Found
, если новый ресурс не был создан между двумя операциями удаления на том же ресурсе.
GET
ответы, с другой стороны, являются кэшируемыми и, таким образом, могут сохранять работу на сервере, возвращая результат из предыдущего запроса непосредственно из кеша (прокси), а затем выдавая запрос на сервер. Это может быть мелкозернистым с настройками заголовка кэша propper.
Кажется, что это плохая реализация больше всего. Технически это возможно, но это было бы очень запутанным, вот почему «ограничения» существуют. – vtortola