Jaka jest różnica między systemem REST a systemem RESTful?
Z kilku rzeczy, które przeczytałem, większość tak zwanych usług REST to tak naprawdę usługi RESTful. Jaka jest różnica między nimi.
architecture
rest
AwkwardCoder
źródło
źródło
Odpowiedzi:
Reprezentatywny transfer stanu (REST) to styl architektury oprogramowania. Jak opisano w rozprawie Roy'a Fieldinga, REST jest „stylem architektonicznym”, który zasadniczo wykorzystuje istniejącą technologię i protokoły sieciowe.
RESTful jest zwykle używany w odniesieniu do usług sieciowych wdrażających taką architekturę.
źródło
architect
czego? adresów URL? jakhttps://translation.googleapis.com/language/translate/v2
to jest styl REST?Usługi oparte na REST / Architektura vs. Usługi RESTFUL / Architektura
Aby rozróżnić lub porównać te 2, powinieneś wiedzieć, co to jest REST .
REST ( RE prezentacyjny S tate T ransfer) jest w zasadzie styl architektoniczny rozwoju mającego pewne zasady:
Powinien być bezpaństwowcem
Powinien mieć dostęp do wszystkich zasobów z serwera przy użyciu tylko identyfikatora URI
Nie ma wbudowanego szyfrowania
Nie ma sesji
Wykorzystuje jeden i tylko jeden protokół - HTTP
Do wykonywania operacji CRUD, należy używać czasowników takich jak HTTP
get
,post
,put
idelete
Powinien zwrócić wynik tylko w postaci JSON lub XML, atom, OData itp. (Lekkie dane)
REST based services
przestrzegaj niektórych z powyższych zasad, a nie wszystkichRESTFUL services
oznacza, że przestrzega wszystkich powyższych zasad.Jest podobny do koncepcji:
Object-based languages
obsługuje wszystkie koncepcje OOP, przykłady : C ++, C #Object oriented languages
obsługuje niektóre funkcje OOP, przykłady : JavaScript, VBPrzykład :
ASP Dot NET MVC 4 działa
REST-Based
podczas gdy Microsoft WEB API jestRESTFul
.MVC obsługuje tylko niektóre z powyższych zasad REST, podczas gdy WEB API obsługuje wszystkie powyższe zasady REST.
MVC obsługuje tylko następujące elementy z interfejsu API REST
Możemy uzyskać dostęp do zasobu za pomocą URI
Obsługuje czasownik HTTP, aby uzyskać dostęp do zasobu z serwera
Może zwracać wyniki w postaci JSON, XML, czyli HTTPResponse.
Jednak w tym samym czasie w MVC
Możemy skorzystać z sesji
Możemy sprawić, by było to stanowe
Możemy zwrócić wideo lub obraz z metody akcji kontrolera, która zasadniczo narusza zasady REST
Dlatego MVC jest,
REST-Based
podczas gdy WEB API obsługuje wszystkie powyższe zasady i jestRESTFul
.źródło
„REST” to paradygmat architektoniczny. „RESTful” opisuje użycie tego paradygmatu.
źródło
architect
czego? adresów URL? jakhttps://translation.googleapis.com/language/translate/v2
to jest styl REST?Jak powiedział Jason w komentarzach, RESTful jest po prostu używany jako przymiotnik opisujący coś, co szanuje ograniczenia REST.
źródło
REST oznacza reprezentatywny transfer stanu. Oznacza to, że samo państwo nie jest przenoszone, lecz jedynie jego reprezentacja. Najczęstszym przykładem jest aplikacja oparta wyłącznie na serwerze HTML (bez javascript). Przeglądarka nic nie wie o samej aplikacji, ale poprzez łącza i zasoby serwer jest w stanie przenieść stan aplikacji do przeglądarki. Gdy przycisk normalnie zmieniałby zmienną stanu (np. Strona otwarta) w zwykłej aplikacji systemu Windows, w przeglądarce masz link reprezentujący taką zmianę stanu.
Chodzi o użycie hipermediów. I może stworzyć nowe typy hipermediów. Potencjalnie możemy rozszerzyć przeglądarkę o javascript / AJAX i stworzyć nowe niestandardowe typy hipermediów. I mielibyśmy prawdziwą aplikację REST.
To jest moja krótka wersja tego, co oznacza REST, problem polega na tym, że jest trudny do wdrożenia. Osobiście mówię RESTful, kiedy chcę odwoływać się do zasad REST, ale wiem, że tak naprawdę nie wdrażam całej koncepcji REST. Tak naprawdę nie mówimy SOAPful, ponieważ albo używasz SOAP, albo nie. Myślę, że większość ludzi nie robi REST w sposób przewidziany przez jego twórcę, Roya Fieldinga, w rzeczywistości wdrażamy architektury RESTful lub podobne do REST. Możesz zobaczyć jego rozprawę i znajdziesz skrót REST, ale nie słowo RESTful.
źródło
REST to styl architektury oprogramowania dla oprogramowania rozproszonego
Zgodność z ograniczeniami REST jest określana jako „RESTful”.
Bardzo używany dziś do tworzenia usług internetowych jako alternatywy dla SOAP.
Tutaj masz kilka linków do sprawdzenia
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/
źródło
dzięki za odpowiedzi. Przeczytaj ten artykuł Alexa Rodrigueza, który sugeruje, że usługa internetowa RESTful ma 4 podstawowe cechy, które są:
źródło
Reprezentatywny transfer stanu (REST) to styl architektury oprogramowania dla rozproszonych systemów hipermedialnych, takich jak World Wide Web. Termin „reprezentatywny transfer państwowy” został wprowadzony i zdefiniowany w 2000 r. Przez Roy'a Fieldinga 1 [2] w jego rozprawie doktorskiej. Fielding jest jednym z głównych autorów specyfikacji protokołu HTTP (Hypertext Transfer Protocol) w wersjach 1.0 i 1.1. Zgodność z ograniczeniami REST jest określana jako „RESTful”. Źródło: Wikipedia
źródło
Usługi sieciowe to przede wszystkim strony internetowe, których treść są konsumowane przez programy komputerowe, a nie przez ludzi. REST to zestaw zasad architektonicznych, które stanowią, że usługi sieciowe powinny maksymalnie wykorzystywać HTTP i inne standardy sieciowe, aby programy zdobywały wszystkie dobre rzeczy, które ludzie mogą już wydostać się z Internetu. REST często kontrastuje z usługami sieciowymi SOAP i innymi usługami sieciowymi zorientowanymi na „zdalne wywołanie procedury”.
Prezentacje Stefana Tiłkowa w REST na Parleys.com są całkiem dobre, szczególnie ta .
W przypadku książki nie ma nic lepszego niż Richardson i Ruby's Restful Web Services .
źródło
Usługa oparta na REST nazywa się „usługą RESTful”.
Źródło Opieram się na opublikowaniu: Archiwum Dr.Dobbs
źródło
Istnieją 4 poziomy API zdefiniowane w modelu dojrzałości Richardsona. Są one zdefiniowane jako:
poziom 0: każdy system, który ma jeden punkt końcowy dla wszystkich apis (SOAP lub RPC należą do tej kategorii). Api poziomu 0 mogą również przypominać „komendy”.
poziom 1: system opisany przez ResourceUri. Jest to system, który definiuje wiele identyfikatorów URI opartych na jednostkach (zamiast mieć jeden punkt końcowy, jak w przypadku systemów poziomu 0). Te identyfikatory URI mogą korzystać z różnych akcji HTTP (POST, GET, PUT itp.) W celu zaimplementowania różnych akcji przeciwko temu zasobowi.
poziom 2: aka poziom 1 z zgodnym użyciem standardowych metod / czasowników HTTP i odpowiedzi na kod o wielu statusach
poziom 3: aka poziom 2 plus HATEOAS (hipermedia zawarte w odpowiedzi, która opisuje dodatkowe połączenia, które możesz wykonać)
Podczas gdy poziomy 1, poziom 2 i poziom 3 można uznać za systemy REST, tylko bardziej rygorystyczne poziomy (inaczej poziom 2 i poziom 3) są uważane za RESTful.
Więc zasadniczo wszystkie RESTful api są REST api, ale nie wszystkie REST api są RESTful
definicja modelu dojrzałości Richardsona
źródło
Pomyśl o REST jako o „klasie” architektonicznej, podczas gdy RESTful jest dobrze znaną „instancją” tej klasy.
Proszę pamiętać o „”; nie mamy tutaj do czynienia z „prawdziwymi” obiektami programistycznymi.
źródło
„Usługa REST” i „usługa RESTful” są jednym i tym samym.
System RESTful to każdy system zgodny z konwencjami REST zdefiniowanymi w oryginalnym dokumencie, który stworzył ideę aplikacji sieciowych RESTful .
Warto zauważyć, że istnieją różne poziomy RESTfulness. Ogólnie rzecz biorąc, REST jest stylem, a nie standardem, więc jest miejsce na interpretację w zależności od potrzeb. jednym z przykładów są hierarchiczne adresy URL zasobów (np.
/things/ID/relatedthings
) a płaskie adresy URL (np./things/ID
i/relatedthings?thing=ID
)źródło
REST (REpresentation State Transfer) to architektura, za pomocą której tworzone są WebServices.
i
RESTful to sposób pisania usług przy użyciu architektur REST. Usługi RESTful udostępniają zasoby w celu identyfikacji obiektów docelowych do interakcji z klientami.
źródło
REST to architektoniczny wzorzec do tworzenia usług internetowych. Usługa RESTful to taka, która implementuje ten wzorzec.
źródło