Какая разница между системой REST и системой RESTful?
Из нескольких вещей, которые я читал, большинство так называемых сервисов REST фактически являются службами RESTful. Так в чем разница между ними.
Какая разница между системой REST и системой RESTful?
Из нескольких вещей, которые я читал, большинство так называемых сервисов REST фактически являются службами RESTful. Так в чем разница между ними.
Репрезентативная передача состояния (REST) - это стиль архитектуры программного обеспечения. Как описано в диссертации Роя Филдинга, REST является "архитектурным стилем", который в основном использует существующие технологии и протоколы Интернета.
RESTful обычно используется для обозначения веб-служб, реализующих такую архитектуру.
"REST" - архитектурная парадигма. "RESTful" описывает эту парадигму.
Чтобы дифференцировать или сравнить эти 2, вы должны знать, что такое ОТДЫХ.
REST (RE презентационной S татэ~d T ransfer) в основном архитектурный стиль развития, имеющее некоторые принципы...
Это должно быть без гражданства
Он должен получить доступ ко всем ресурсам с сервера, используя только URI
Не имеет встроенного шифрования
У него нет сессии
Он использует один и только один протокол, который является HTTP
Для выполнения операций CRUD следует использовать HTTP-глаголы, такие как get, post, put и delete
Он должен возвращать результат только в форме JSON или XML, Atom, OData и т.д. (Облегченные данные)
REST based services
следуют некоторым из вышеперечисленных принципов и не все
RESTFUL services
означает, что он следует всем вышеперечисленным принципам.
Это похоже на концепцию:
Object-based languages
поддерживают все концепции ООП, примеры: C++, С#
Object oriented languages
поддерживают некоторые функции ООП, примеры: 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
Мы можем использовать сессию
Мы можем сделать это с состоянием
Мы можем вернуть видео или изображение из метода действия контроллера, который в основном нарушает принципы REST
Вот почему MVC REST-Based
а WEB API поддерживает все вышеперечисленные принципы и является RESTFul
.
Как сказал Джейсон в комментариях, RESTful просто используется в качестве прилагательного, описывающего что-то, что соответствует ограничениям REST.
REST означает передачу репрезентативного состояния. Это означает, что само государство не передается, а простое представление. Наиболее распространенным примером является приложение на основе HTML-приложений на основе чистого кода (без javascript). Браузер ничего не знает о самом приложении, но через ссылки и ресурсы, сервер может передать состояние приложения в браузер. Если кнопка обычно меняет переменную состояния (например, открытую страницу) в обычном приложении Windows, в браузере у вас есть ссылка, которая представляет такое изменение состояния.
Идея заключается в использовании гипермедиа. И, возможно, для создания новых типов гипермедиа. Потенциально мы можем расширить браузер с помощью javascript/AJAX и создать новые настраиваемые типы гипермедиа. И у нас будет истинное приложение REST.
Это моя короткая версия того, что означает REST, проблема в том, что его трудно реализовать. Я лично говорю RESTful, когда хочу сделать ссылку на принципы REST, но я знаю, что на самом деле я не реализую всю концепцию REST. Мы действительно не говорим SOAPful, потому что вы используете SOAP или нет. Я думаю, что большинство людей не делают REST так, как это предполагал создатель Рой Филдинг, мы на самом деле реализуем архитектуры RESTful или RESTlike. Вы можете увидеть его dissertation, и вы найдете аббревиатуру REST, но не слово 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/
спасибо за ответы. Прочитайте эту статью от Alex Rodriguez, в которой говорится, что веб-служба RESTful имеет 4 основные характеристики, которые:
Репрезентативная передача состояния (REST) - это стиль архитектуры программного обеспечения для распределенных систем гипермедиа, таких как World Wide Web. Термин "Передача государственного представительства" был введен и определен в 2000 году Роем Филдингом 1 [2] в его докторской диссертации. Филдинг является одним из основных авторов спецификаций протокола HTTP (Hypertext Transfer Protocol, HTTP) версии 1.0 и 1.1. Соответствие ограничениям REST называется "RESTful". Источник: Википедия
Веб-сервисы - это, по сути, веб-сайты, контент которых потребляется компьютерными программами, а не людьми. REST - это набор архитектурных принципов, которые предусматривают, что веб-службы должны максимально использовать HTTP и другие веб-стандарты, чтобы программы получали все хорошие вещи, которые люди уже могут получить из Интернета. REST часто противопоставляется веб-службам SOAP и другим ориентированным на веб-службам "удаленных процедур".
Презентации Stefan Tilkov на REST на Parleys.com неплохие, особенно этот.
Для книги вы не можете получить больше, чем Richardson и Ruby Restful Web Services.
Служба, основанная на REST, называется "службой RESTful".
Источник я полагаюсь на публикацию: Архив Dr.Dobbs
В модели зрелости Ричардсона определены 4 уровня API. Они определены как:
Уровень 0: любая система, которая имеет единственную конечную точку для всех своих API (SOAP или RPC попадают в эту категорию). Уровень 0 apis также может напоминать "команды".
Уровень 1: описанная система ResourceUri. Это система, которая определяет несколько основанных на объектах URI (вместо того, чтобы иметь одну конечную точку, как в системах уровня 0). Эти URI могут использовать различные действия http (POST, GET, PUT и т.д.) Для реализации различных действий с этим ресурсом.
уровень 2: он же уровень 1 с совместимым использованием стандартных методов/глаголов HTTP и ответов с несколькими кодами состояния
уровень 3: он же уровень 2 плюс HATEOAS (гипермедиа включена в ответ, который описывает дополнительные звонки, которые вы можете сделать)
Хотя уровни 1, уровень 2 и уровень 3 можно рассматривать как системы REST, только RESTful считаются только более строгими уровнями (уровня 2 и 3).
Таким образом, по существу все API RESTful являются API REST, но не все API REST являются RESTful
Думайте о REST как об архитектурном "классе", тогда как RESTful является "экземпляром" этого класса.
Пожалуйста, обратите внимание на ""; мы не имеем дело с "реальными" объектами программирования здесь.
Хорошо, позвольте мне помочь вам запомнить концепции.
ОТДЕЛ - это архитектурный танец, а RESTful - танцор (следует ВСЕМ этапам танца REST)
JPA - это особый танец, а Hibernate - один из танцовщиц (следуйте за всеми шагами танца JPA + некоторые дополнительные ходы).
SLF4J - это особый танец, а SLF4J-Simple - один из танцоров.
"Служба REST" и "Служба RESTful" - это одно и то же.
Система RESTful - это любая система, которая следует соглашениям REST, определенным в первоначальном документе, который создал идею сетевых приложений RESTful.
Стоит отметить, что существуют различные уровни RESTfulness. В целом, REST - это стиль, а не стандарт, поэтому есть возможность для интерпретации в зависимости от потребностей. один пример - это иерархические URL ресурсов (например, /things/ID/relatedthings
) по сравнению с плоскими URL-адресами (например, /things/ID
и /relatedthings?thing=ID
)