В чем разница между REST & RESTful

в чем разница между системой отдыха и системой, которая является RESTful?

из нескольких вещей, которые я читать большинство так называемых служб REST на самом деле являются службами RESTful. Так в чем же разница между ними?

12 ответов


передача репрезентативного состояния (REST) - это стиль архитектуры программного обеспечения. Как описано в диссертации Роя Филдинга, REST - это "архитектурный стиль", который в основном использует существующие технологии и протоколы Интернета.

RESTful обычно используется для ссылки на веб-службы, реализующие такую архитектуру.


"отдых" - это архитектурная парадигма. "RESTful" описывает использование этой парадигмы.


REST based Services / архитектура VC RESTFUL Services / архитектура

чтобы различать или сравнивать эти 2, вы должны знать, что такое остальное.

остальные (REпредставления SТэйт Transfer) в основном архитектурный стиль развития, имеющий некоторые принципы...

  • он должен быть апатридом!--13-->

  • он должен получить доступ ко всем ресурсы с сервера, использующие только URI

  • он не имеет встроенного шифрования

  • у него нет сеанса

  • он использует один и только один протокол, который является HTTP

  • для выполнения операций CRUD он должен использовать HTTP-глаголы, такие как get, post, put и delete

  • он должен возвращать результат только в виде JSON или XML, atom, OData и т. д. (облегченные данные)

REST based services следуйте некоторым из вышеперечисленных принципов и не всем

RESTFUL services означает, что он следует всем вышеперечисленным принципам.

это похоже на концепцию:

Object-based languages поддерживает все концепции OOPs,примеры: C++, C#

Object oriented languages поддерживает некоторые функции OOPs,примеры: JavaScript, VB


пример:

ASP Dot NET MVC 4 является REST-Based в то время как Microsoft WEB API является RESTFul.

MVC поддерживает только некоторые из вышеперечисленных принципов REST, тогда как WEB API поддерживает все вышеперечисленные принципы REST.

MVC поддерживает только следующее из REST API

  • мы можем получить доступ к ресурсу с помощью URI

  • он поддерживает команду HTTP для доступа к ресурс с сервера

  • он может возвращать результаты в виде JSON, XML, то есть HTTPResponse.

однако, в то же время в MVC

  • мы можем использовать сессии

  • мы можем сделать его stateful

  • мы можем возвратить видео или Изображение от метода действия регулятора который по существу нарушает принципы остальных

вот почему MVC REST-Based тогда как WEB API поддерживает все вышеперечисленные принципы и является RESTFul.


Как сказал Джейсон в комментариях, RESTful просто используется как прилагательное, описывающее что-то, что уважает ограничения REST.


REST означает передачу репрезентативного состояния. Это означает,что само государство не передается, а просто его представление. Самый распространенный пример-это чистый HTML серверные приложения (не JavaScript). Браузер ничего не знает о самом приложении, но через ссылки и ресурсы сервер может передавать состояние приложения в браузер. Где кнопка обычно изменяет переменную состояния (например, открытую страницу) в обычном приложении windows, в браузере у вас есть ссылка, которая представляет такое изменение состояния.

идея заключается в использовании гипермедиа. И, возможно, создать новые типы гипермедиа. Потенциально мы можем расширить браузер с помощью javascript / AJAX и создать новые пользовательские типы гипермедиа. И у нас будет настоящее приложение для отдыха.

Это моя короткая версия того, что означает REST, проблема в том, что ее трудно реализовать. Я лично говорю RESTful, когда я хочу сослаться на принципы отдыха, но я знаю, что я не реально реализуем всю концепцию отдыха. У нас так не говорят SOAPful, потому что вы либо используйте мыло или нет. Я думаю, что большинство людей не отдыхают так, как это было предусмотрено его создателем Роем Филдингом, мы фактически реализуем RESTful или RESTlike архитектуры. Вы можете видеть его диссертации, и вы найдете остальную аббревиатуру, но не слово RESTful.


REST-это стиль архитектуры программного обеспечения для распределенного программного обеспечения

соответствие ограничениям REST называется "RESTful".

очень используется сегодня для создания веб-сервисов в качестве альтернативы SOAP.

здесь у вас есть ссылки на проверка

http://en.wikipedia.org/wiki/Representational_State_Transfer
http://www.computerworld.com/s/article/297424/Representational_State_Transfer_REST_
http://www.ibm.com/developerworks/webservices/library/ws-restful/


спасибо за ответы. Читать в этой статье Алекс Родригес, который предполагает, что веб-сервис RESTful имеет 4 основные характеристики, которые:

  1. используйте методы HTTP явно.
  2. быть без гражданства.
  3. Expose структуры каталогов, как URIs.
  4. передача XML, JavaScript Object Notation (JSON) или оба.

Representational State Transfer (REST) - это стиль архитектуры программного обеспечения для распределенных гипермедиа-систем, таких как World Wide Web. Термин "передача репрезентативного состояния" был введен и определен в 2000 году Роем Филдингом1[2] в докторской диссертации. Филдинг является одним из основных авторов спецификаций протокола передачи гипертекста (HTTP) версий 1.0 и 1.1. Соответствие ограничениям REST называется "RESTful". Источник:Википедия


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

презентации Стефана Тилькова на REST at Parleys.com неплохие, особенно этот.

для книги вы не можете получить лучше, чем Ричардсон и Руби Restful Web Services.


служба, основанная на REST, называется "службой RESTful".

Источник я полагаюсь на публикацию этого:Архив Доктора Доббса


существует 4 уровня API, определенных в модели зрелости Ричардсона. Они определяются как:

  • уровень 0: любая система, имеющая одну конечную точку для всех своих API (SOAP или RPC относятся к этой категории). API уровня 0 также могут напоминать "команды".

  • уровень 1: описанная ResourceUri система. Это система, которая определяет несколько URI на основе сущностей (вместо того, чтобы иметь одну конечную точку, как системы уровня 0). Эти URI можно использовать различные действия http (POST, GET, PUT и т. д.) Для реализации различных действий против этого ресурса.

  • Уровень 2: он же уровень 1 с совместимым использованием стандартных HTTP-методов / глаголов и нескольких ответов кода состояния

  • Уровень 3: ака Уровень 2 плюс HATEOAS (гипермедиа включены в ответ, который описывает дополнительные вызовы, которые вы можете сделать)

пока уровни 1, Уровень 2, и уровень 3 можно рассматривать как системы остальных, только строже уровнях (ака 2 и 3 уровня) считается спокойным.

таким образом, по существу, все RESTful apis являются REST apis, но не все REST apis RESTful

определение модели зрелости Ричардсона


"служба отдыха" и "Служба отдыха" - это одно и то же.

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

стоит отметить, что существуют различные уровни покоя. В целом, отдых-это стиль, а не стандарт, поэтому есть место для интерпретации, основанной на потребностях. одним из примеров являются иерархические URL-адреса ресурсов (например,/things/ID/relatedthings) vs плоские URL (например,/things/ID и /relatedthings?thing=ID)