Ответ 1
Нет никакой разницы. REST описывает способ взаимодействия с HTTP-сервером, а не то, что сервер должен вернуть в ответ. Большинство веб-приложений взаимодействуют с серверной стороной с помощью запросов POST или GET с любой дополнительной информацией, необходимой для выполнения запроса в форме отправки для POST или строки запроса для GET. Поэтому, если вы хотите что-то удалить с сервера, они обычно делают POST с формой, содержащей данные, указывающие ресурс вместе с инструкцией по его удалению.
Однако HTTP реализует методы (также известные как глаголы), отличные от GET или POST. Он также реализует, в частности, HEAD (возвращает те же заголовки, которые вы бы сделали для GET, но без тела ответа), PUT (возьмите тело запроса и сохраните его содержимое по любому URL-адресу, на который был сделан запрос PUT), и УДАЛИТЬ (удалить любой ресурс по указанному URL). Интерфейс REST просто использует эти дополнительные глаголы для определения значения запроса на сервере.
Браузеры обычно поддерживают только GET и POST для "обычных" (не XHR) запросов, но такие инструменты, как Curl, могут выдавать полный набор HTTP-глаголов. Вы также можете использовать дополнительные глаголы с XHR-методами, такими как AJAX.
Вам все равно придется предоставлять традиционный API без REST для браузеров, если вы не используете javascript и XHR для использования вашего приложения.