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.
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.
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ę.
architect
czego? adresów URL? jak https://translation.googleapis.com/language/translate/v2
to jest styl REST?
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 wszystkich
RESTFUL 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, VB
Przykład :
ASP Dot NET MVC 4 działa REST-Based
podczas gdy Microsoft WEB API jest RESTFul
.
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 jest RESTFul
.
„REST” to paradygmat architektoniczny. „RESTful” opisuje użycie tego paradygmatu.
architect
czego? adresów URL? jak https://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.
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.
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/
dzięki za odpowiedzi. Przeczytaj ten artykuł Alexa Rodrigueza, który sugeruje, że usługa internetowa RESTful ma 4 podstawowe cechy, które są:
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
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 .
Usługa oparta na REST nazywa się „usługą RESTful”.
Źródło Opieram się na opublikowaniu: Archiwum Dr.Dobbs
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
„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
)