Яка різниця між системою REST і системою, яка RESTful?
З кількох речей, які я читав більшість, так звані послуги REST - це фактично послуги RESTful. То яка різниця між ними.
Яка різниця між системою REST і системою, яка RESTful?
З кількох речей, які я читав більшість, так звані послуги REST - це фактично послуги RESTful. То яка різниця між ними.
Відповіді:
Представницький стан передачі (REST) - це стиль архітектури програмного забезпечення. Як описано в дисертації Роя Філдінга, REST - це "архітектурний стиль", який в основному використовує існуючі технології та протоколи Інтернету.
RESTful зазвичай використовується для позначення веб-служб, що реалізують таку архітектуру.
architect
якого? URL-адрес? як https://translation.googleapis.com/language/translate/v2
це стиль REST?
Щоб розмежувати або порівняти ці 2, ви повинні знати, що таке REST .
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
підтримує всі концепції OOPs, приклади : C ++, C #
Object oriented languages
підтримує деякі функції OOP, приклади : JavaScript, VB
Приклад :
ASP Dot NET MVC 4 є в REST-Based
той час як Microsoft WEB API RESTFul
.
MVC підтримує лише деякі з вищезазначених принципів REST, тоді як WEB API підтримує всі вищезазначені принципи REST.
MVC підтримує лише наступне з API REST
Ми можемо отримати доступ до ресурсу за допомогою URI
Він підтримує дієслово HTTP для доступу до ресурсу з сервера
Він може повернути результати у вигляді JSON, XML, тобто HTTPResponse.
Однак водночас у MVC
Ми можемо використовувати сеанс
Ми можемо зробити це значним
Ми можемо повернути відео чи зображення з методу дії контролера, який в основному порушує принципи REST
Ось чому MVC, REST-Based
тоді як WEB API підтримує всі вищезазначені принципи і є RESTFul
.
"REST" - це архітектурна парадигма. "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) - стиль архітектури програмного забезпечення для розподілених систем гіпермедіа, таких як Всесвітня павутина. Термін "Представницький державний трансфер" був введений і визначений у 2000 році Роєм Філдінг 1 [2] у своїй докторській дисертації. Філдінг є одним із головних авторів специфікації протоколу передачі гіпертексту (HTTP) версій 1.0 та 1.1. Відповідність обмеженням REST називається "RESTful". Джерело: Вікіпедія
Веб-сервіси - це, по суті, веб-сайти, вміст яких споживається комп'ютерними програмами, а не людьми. REST - це набір архітектурних принципів, які передбачають, що веб-сервіси повинні максимально використовувати HTTP та інші веб-стандарти, щоб програми отримували все хороше, що люди вже можуть вийти з Інтернету. REST часто контрастує з веб-сервісами SOAP та іншими веб-службами, орієнтованими на "віддалений процедурний дзвінок".
Презентації Стефана Тілкова на REST на Parleys.com досить непогані, особливо цей .
Щодо книги, ти не зможеш отримати кращого за Рістбердсон та Рубі затишні веб-сервіси .
Послуга на базі REST називається "RESTful service".
Джерело Я покладаюсь на повідомлення про це: Архів доктора
У моделі зрілості Річардсона визначено 4 рівні API. Вони визначаються як:
рівень 0: будь-яка система, яка має єдину кінцеву точку для всіх своїх apis (SOAP або RPC потрапляють у цю категорію). Апіс рівня 0 також може нагадувати "команди".
рівень 1: описувана система ResourceUri. Це система, яка визначає декілька URI на основі сутності (замість того, щоб мати єдину кінцеву точку, як, наприклад, системи рівня 0). Ці URI можуть використовувати різні дії http (POST, GET, PUT тощо) для здійснення різних дій проти цього ресурсу.
рівень 2: також рівень 1 w / сумісне використання стандартних методів / дієслів HTTP та відповідей з кодом багатоканального статусу
рівень 3: також рівень 2 плюс HATEOAS (гіпердія, включена у відповідь, яка описує додаткові дзвінки, які ви можете здійснювати)
У той час як рівні 1, 2 і 3 рівня можуть розглядатися як системи REST, але тільки більш суворі рівні (також рівень 2 і рівень 3) вважаються RESTful.
Отже, по суті всі RESTful apis є REST apis, але не всі REST apis є RESTful
"Служба REST" та "RESTful service" - одне і те ж.
Система RESTful - це будь-яка система, яка дотримується конвенцій REST, визначених в оригінальному документі, який створив ідею мережевих програм RESTful .
Варто відзначити, що існують різні рівні RESTfulness. Загалом REST - це стиль, а не стандарт, тому є місце для інтерпретації, що базується на потребах. одним із прикладів є ієрархічні URL-адреси ресурсів (наприклад /things/ID/relatedthings
) та плоскі URL-адреси (наприклад, /things/ID
та /relatedthings?thing=ID
)