Производительность - широкая тема.
Если вы имеете в виду нагрузку на сервер, REST имеет немного лучшую производительность, поскольку он несет минимальные накладные расходы поверх HTTP. Обычно SOAP приносит с собой стек разных (сгенерированных) обработчиков и парсеров. Во всяком случае, разница в производительности сама по себе не такая большая, но RESTful-сервис проще масштабировать, так как у вас нет сеансов на стороне сервера.
Если вы имеете в виду производительность сети (т. Е. Пропускную способность), REST имеет гораздо лучшую производительность. В принципе, это просто HTTP. Нет накладных расходов. Таким образом, если ваша служба работает поверх HTTP в любом случае, вы не можете получить намного меньше, чем REST. Кроме того, если вы кодируете свои представления в JSON (в отличие от XML), вы сэкономите еще много байтов.
Короче говоря, я бы сказал «да», вы будете более результативны с REST. Кроме того, это (на мой взгляд) упростит ваш интерфейс для ваших клиентов. Таким образом, не только ваш сервер становится более компактным, но и клиентом.
Однако, несколько вещей, чтобы рассмотреть (так как вы спросили: «Что вы потеряете?):
RESTful интерфейсы имеют тенденцию быть немного более«болтливый», так что в зависимости от вашего домена и как создать свой ресурсов, вы можете сделать больше HTTP-запросов.
SOAP имеет очень широкую поддержку инструмента. Например, консультанты любят это, потому что они могут использовать инструменты для определения интерфейса и генерации файла wsdl, а разработчики любят его, потому что они могут использовать другой набор инструментов для создания всего сетевого кода из этого wsdl-файла. Более того, XML как представление имеет схемы и валидаторы, которые в некоторых случаях могут быть ключевой проблемой. (JSON и REST имеют аналогичный материал, но поддержка инструмента далеко позади)
Это дубликат http://stackoverflow.com/questions/106546/performance-of-soap-vs-xml-rpc-or-rest/? – pjz
То, что вы теряете, это «над инженерными» :-) аспектами SOAP. Шифрование, Подписание сообщений, аутентификация, неотказуемость, самоописание служб и т. Д. Если вам нужно сделать что-либо из этого (и большинство сервисов нет!), Перейдите на SOAP. –