В чем разница между системой REST и системой RESTful?
Из нескольких вещей, которые я прочитал, большинство так называемых REST-сервисов на самом деле являются RESTful-сервисами. Так в чем же разница между ними?
В чем разница между системой REST и системой RESTful?
Из нескольких вещей, которые я прочитал, большинство так называемых REST-сервисов на самом деле являются RESTful-сервисами. Так в чем же разница между ними?
Ответы:
Передача репрезентативного состояния (REST) - это стиль архитектуры программного обеспечения. Как описано в диссертации Роя Филдинга, REST - это «архитектурный стиль», который в основном использует существующие технологии и протоколы Интернета.
RESTful обычно используется для ссылки на веб-сервисы, реализующие такую архитектуру.
architect
которого? URL? как https://translation.googleapis.com/language/translate/v2
это стиль REST?
Чтобы дифференцировать или сравнить эти 2, вы должны знать, что такое ОТДЫХ .
REST ( RE презентационного S Тейт T ransfer) в основном архитектурный стиль развития , имеющие некоторые принципы:
Это должно быть без гражданства
Он должен получить доступ ко всем ресурсам с сервера, используя только URI
Не имеет встроенного шифрования
У него нет сессии
Он использует один и только один протокол - HTTP
Для выполнения операций CRUD, он должен использовать HTTP глаголы , такие как get
, post
, put
иdelete
Он должен возвращать результат только в форме JSON или XML, Atom, OData и т. Д. (Облегченные данные)
REST based services
следовать некоторым из вышеперечисленных принципов и не все
RESTFUL services
означает, что он следует всем вышеперечисленным принципам.
Это похоже на концепцию:
Object-based languages
поддерживает все концепции ООП, примеры : C ++, 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» описывает использование этой парадигмы.
architect
которого? URL? как https://translation.googleapis.com/language/translate/v2
это стиль REST?
Как сказал Джейсон в комментариях, RESTful просто используется как прилагательное, описывающее что-то, что соответствует ограничениям REST.
REST означает передачу представительского состояния. Это означает, что само состояние не передается, а просто его представление. Наиболее распространенный пример - приложение на чистом HTML-сервере (без JavaScript). Браузер ничего не знает о самом приложении, но с помощью ссылок и ресурсов сервер может передавать состояние приложения в браузер. Если кнопка обычно изменяет переменную состояния (например, открытая страница) в обычном приложении Windows, в браузере есть ссылка, которая представляет такое изменение состояния.
Идея состоит в том, чтобы использовать гипермедиа. И, возможно, для создания новых типов гипермедиа. Потенциально мы можем расширить браузер с помощью javascript / AJAX и создавать новые пользовательские типы гипермедиа. И у нас будет настоящее REST-приложение.
Это моя короткая версия REST, проблема в том, что ее сложно реализовать. Я лично говорю RESTful, когда я хочу сослаться на принципы REST, но я знаю, что на самом деле не реализую всю концепцию REST. На самом деле мы не говорим SOAPful, потому что вы либо используете SOAP, либо нет. Я думаю, что большинство людей не делают REST так, как это было задумано его создателем Роем Филдингом, мы фактически реализуем RESTful или REST-подобные архитектуры. Вы можете увидеть его диссертацию , и вы найдете аббревиатуру 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/
спасибо за ответы. Прочтите эту статью Алекса Родригеса, в которой говорится, что веб-сервис RESTful имеет 4 основных характеристики:
Передача репрезентативного состояния (REST) - это стиль архитектуры программного обеспечения для распределенных гипермедиа систем, таких как World Wide Web. Термин «Представительный государственный трансферт» был введен и определен в 2000 году Роем Филдингом 1 [2] в его докторской диссертации. Филдинг является одним из основных авторов спецификации протокола передачи гипертекста (HTTP) версий 1.0 и 1.1. Соответствие ограничениям REST называется «RESTful». Источник: Википедия
Веб-сервисы - это, по сути, веб-сайты, контент которых потребляют компьютерные программы, а не люди. REST - это набор архитектурных принципов, которые предусматривают, что веб-сервисы должны максимально использовать HTTP и другие веб-стандарты, чтобы программы получали все то хорошее, что люди уже могут получить из Интернета. REST часто противопоставляется веб-службам SOAP и другим веб-службам, ориентированным на «удаленный вызов процедур».
Презентации Стефана Тилкова на REST на Parleys.com довольно хороши, особенно эта .
Для книги вы не можете стать лучше, чем Ричардсон и Rubful 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 - хорошо известный «экземпляр» этого класса.
Пожалуйста, обратите внимание на ""; мы не имеем дело с «реальными» объектами программирования здесь.
«Служба REST» и «Служба RESTful» - это одно и то же.
Система RESTful - это любая система, которая следует соглашениям REST, определенным в первоначальном документе, который создал идею сетевых приложений RESTful. .
Стоит отметить, что существуют различные уровни RESTfulness. В целом, REST - это стиль, а не стандарт, поэтому есть возможность для интерпретации в зависимости от потребностей. один пример - иерархические URL ресурсов (например /things/ID/relatedthings
) против плоских URL (например, /things/ID
и /relatedthings?thing=ID
)