Передача представительного состояния (REST) ​​и простой протокол доступа к объектам (SOAP)

Эй, Крис, посмотрите на Mongous . У меня была та же проблема с мангустом, поскольку мои схемы очень часто изменяются прямо сейчас в процессе разработки. Монгуйский позволил мне иметь простоту Мангуста, хотя я мог свободно определять и изменять свои «схемы». Я решил просто создать стандартные объекты JavaScript и сохранить их в базе данных, например

function User(user){
  this.name = user.name
, this.age = user.age
}

app.post('save/user', function(req,res,next){
  var u = new User(req.body)
  db('mydb.users').save(u)
  res.send(200)
  // that's it! You've saved a user
});

. Это намного проще, чем Mongoose, хотя я действительно считаю, что вы пропустили какой-то классный материал промежуточного уровня, например «pre». Мне это ни в коем случае не нужно. Надеюсь, это поможет !!!

718
задан Community 23 May 2017 в 11:54
поделиться

5 ответов

Я думаю, что это столь легко, как я могу объяснить его. Любой может исправить меня или добавить к этому.

SOAP является форматом сообщения, используемым разъединенными системами (как через Интернет) для обмена информацией / данные. Это делает с сообщениями XML, идущими назад и вперед.

веб-сервисы передают или получают сообщения SOAP. Они работают по-другому, в зависимости от какого языка они записаны в.

2
ответ дан StingyJack 23 May 2017 в 11:54
поделиться

Мне нравится ответ Brian R. Bondy. Я просто хотел добавить, что Википедия предоставляет четкое описание REST. Статья отличает его от SOAP.

REST является обменом информацией состояния, сделанной максимально максимально.

SOAP является протоколом сообщения, который использует XML.

Одна из главных причин, что многие люди переместились от SOAP до REST, - то, что WS -* (названный нащельной рейкой WS) стандарты, связанные с основанными на SOAP веб-сервисами, является ЧРЕЗВЫЧАЙНО сложным. См. Википедия для списка спецификаций. Каждая из этих спецификаций очень сложна.

РЕДАКТИРОВАНИЕ: по некоторым причинам ссылки не отображаются правильно. REST = http://en.wikipedia.org/wiki/REST

WS -* = http://en.wikipedia.org/wiki/WS - *

12
ответ дан Greg 23 May 2017 в 11:54
поделиться

Оба метода используются многими крупными плеерами. Это - вопрос предпочтения. Мое предпочтение является REST, потому что более просто использовать и понять.

Простой протокол доступа к объектам (SOAP):

  • SOAP создает протокол XML сверху HTTP или иногда TCP/IP.
  • SOAP описывает функции и типы данных.
  • SOAP является преемником XML-RPC и очень похож, но описывает стандартный способ связаться.
  • Несколько языков программирования имеют собственную поддержку SOAP, Вы обычно подаете его URL веб-сервиса, и можно вызвать его функции веб-сервиса без потребности определенного кода.
  • Двоичные данные, который отправляется, должны быть закодированы сначала в формат, такой как закодированный base64.
  • Имеет несколько протоколов и технологий, касающихся его: WSDL, XSDs, SOAP, Обращение WS

Представительная передача состояния (REST):

  • REST не должен быть по HTTP, но большинство моих точек ниже будет иметь предвзятость HTTP.
  • REST очень легок, он говорит, ожидают минута, нам не нужна вся эта сложность, которую создал SOAP.
  • Обычно использование нормальные методы HTTP вместо большого формата XML, описывающего все. Например, для получения ресурса Вы используете HTTP, ДОБИРАЮТСЯ, для помещения ресурса на сервер, Вы используете ПОМЕЩЕННЫЙ HTTP. Для удаления ресурса на сервере, Вы используете HTTP, УДАЛЯЮТ.
  • REST является очень простым в этом, он использует HTTP, ПОЛУЧАЮТ, POST и ПОМЕЩАЮТ методы для обновления ресурсов на сервере.
  • REST обычно лучше всего используется с Ресурс Ориентированная Архитектура (ROA). В этом способе мышления все - ресурс, и Вы воздействовали бы на эти ресурсы.
  • , пока Ваш язык программирования имеет библиотеку HTTP, и большинство делает, можно использовать протокол HTTP REST очень легко.
  • Двоичные данные или двоичные ресурсы могут просто быть поставлены по их запросу.

существуют бесконечные дебаты по REST по сравнению с SOAP на Google .

Мой фаворит - этот . Обновление 27 ноября 2013: сайт Paul Prescod, кажется, пошел офлайн, и эта статья больше не доступна, копии, хотя может быть найден на Wayback Machine или как PDF в CiteSeerX.

321
ответ дан Matthew Cline 23 May 2017 в 11:54
поделиться

И SOAP, и REST относятся к способам взаимодействия различных систем друг с другом.

REST делает это, используя методы, которые напоминают взаимодействие вашего браузера с веб-серверами: использование GET для запроса веб-страница, размещение в полях формы и т. д.

SOAP предоставляет нечто подобное, но делает все через отправку блоков XML туда и обратно. Другой ключевой компонент SOAP - это WSDL, представляющий собой XML-документ, описывающий, какие функции и элементы данных поддерживаются. WSDL можно использовать для программного "обнаружения" поддерживаемых функций, а также для создания заглушек программного кода.

5
ответ дан 22 November 2019 в 21:33
поделиться

Проблема с протоколом SOAP заключается в том, что он противоречит идеалам, лежащим в основе стека HTTP. Любое промежуточное программное обеспечение должно иметь возможность работать с HTTP-запросами без понимания содержимого запроса или ответа, но, например, обычный сервер кэширования HTTP не будет работать с запросами SOAP, не зная только, какие части содержимого SOAP имеют значение для кэширования. SOAP просто использует HTTP как оболочку для своего собственного протокола связи, например прокси.

2
ответ дан 22 November 2019 в 21:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: