В чем разница между системой 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)