После чтения много о различиях между REST и SOAP, я получил впечатление, что REST является просто другим словом для HTTP. Кто-то может объяснить, какую функциональность REST добавляет к HTTP?
Примечание: Я не ищу сравнение REST по сравнению с SOAP.
Обновление: Спасибо за Ваши ответы. Теперь мне стало ясно, что REST является просто рядом правил о том, как использовать HTTP. Следовательно я отправил продолжение о том, каковы преимущества этих конвенций.
Примечание: Я теперь схватываю значение REST; как Emil Ivanov отмечает, REST означает использовать HTTP путем, он предназначен, чтобы быть. Однако я не уверен, заслуживает ли это собственного термина, и я, конечно, не получаю шумиху вокруг этого.
No, REST is the way HTTP should be used.
Сегодня мы используем только малейшую часть методов протокола HTTP - а именно GET
и POST
. Способ REST заключается в использовании всех методов протокола.
Например, REST диктует использование DELETE
для стирания документа (будь то файл, состояние и т.д.) за URI, в то время как при использовании HTTP вы бы использовали запрос GET
или POST
, как ...product/?delete_id=22
.
REST не добавляет никаких конкретных функций к HTTP, но представляет собой архитектурный стиль, который был разработан вместе с HTTP и чаще всего использует HTTP для своего протокола прикладного уровня.
HTTP - это протокол приложения. REST - это набор правил, при соблюдении которых вы можете создать распределенное приложение, имеющее определенный набор желаемых ограничений.
Если вы ищете наиболее важные ограничения REST, которые отличают RESTful-приложение от любого HTTP-приложения, я бы сказал, что это ограничение «самоописание» и ограничение гипермедиа (также известное как Hypermedia как Engine of Application State (HATEOAS). )) самые важные.
Ограничение самоописания требует, чтобы запрос RESTful был полностью информативным с точки зрения пользователей. Это позволяет посредникам (прокси и кеши) безопасно работать с сообщением.
Ограничение HATEOAS заключается в превращении вашего приложения в сеть ссылок, где текущее состояние клиента зависит от его места в этой сети. Это сложная концепция, и для ее объяснения требуется больше времени, чем у меня сейчас.
Не совсем...
http://en.wikipedia.org/wiki/Representational_State_Transfer
REST был первоначально описан в контекст HTTP, но не ограничивается только этот протокол. Отдыхающие архитектуры может быть основано на другом приложении Слойные протоколы, если они уже обеспечить богатый и единообразный словарный запас для приложений на основе передачи значимого репрезентативного состояния. Отдыхающие приложения максимально используют ранее существовавшего, четко определённого интерфейс и другие встроенные возможности, предоставляемые выбранным сетевой протокол, и минимизировать добавление нового приложения особенности наверху.
http://www.looselycoupled.com/glossary/SOAP
(Простой протокол доступа к объектам). стандарт для сообщений веб-служб. На основе XML SOAP определяет конверт. формат и различные правила для описывая его содержание. Видел (с WSDL и UDDI) как один из трех базовые стандарты веб-сервисов, это предпочтительный протокол для обмен веб-сервисами, но ни в коем случае означает единственный; сторонники REST сказать, что это добавляет ненужного сложность.
REST - это особый подход к проектированию больших систем (например, Интернет).
Это набор «правил» (или «ограничений»).
HTTP - это протокол, который пытается подчиняться этим правилам.