it-swarm.com.de

Was ist der Unterschied zwischen REST & RESTful

Was ist der Unterschied zwischen einem REST - System und einem RESTful-System?

Aus einigen Dingen habe ich read die meisten so genannten REST - Dienste sind eigentlich RESTful - Dienste. Was ist also der Unterschied zwischen den beiden. 

441
AwkwardCoder

Representational State Transfer (REST) ​​ ist ein Stil der Softwarearchitektur. Wie in einer Dissertation von Roy Fielding beschrieben, handelt es sich bei REST um einen "Architekturstil", der im Wesentlichen die vorhandenen Technologien und Protokolle des Webs nutzt.

RESTful wird normalerweise verwendet, um auf Webdienste zu verweisen, die eine solche Architektur implementieren. 

413
Justin Ethier

"REST" ist ein architektonisches Paradigma. "RESTful" beschreibt dieses Paradigma.

106
SingleShot

REST-basierte Services/Architektur VC RESTFUL-Services/Architektur

Um diese 2 zu unterscheiden oder zu vergleichen, sollten Sie wissen, wasRESTist. 

REST (REpresentationalStateTransfer) ist im Grunde ein architektonischer Entwicklungsstil mit einigen Prinzipien ...

  • Es sollte staatenlos sein

  • Es sollte auf alle Ressourcen vom Server nur mit URI zugreifen

  • Es ist keine Verschlüsselung eingebaut

  • Es hat keine Sitzung

  • Es verwendet ein und nur ein Protokoll, das HTTP ist

  • Für die Durchführung von CRUD-Vorgängen sollten HTTP-Verben wie "get", "post", "put" und "delete" verwendet werden

  • Es sollte das Ergebnis nur in Form von JSON oder XML, Atom, OData usw. zurückgeben (leichte Daten).

REST based services befolgen einige der oben genannten Prinzipien und nicht alle

RESTFUL services bedeutet, dass alle oben genannten Prinzipien befolgt werden.

Es ist ähnlich dem Konzept von:

Object-based languages unterstützt alle OOPs-Konzepte, Beispiele : C++, C #

Object oriented languages unterstützt einige der OOPs-Funktionen, Beispiele : JavaScript, VB


Beispiel :

ASP Dot NET MVC 4 ist REST-Based, während Microsoft WEB API RESTFul ist.

MVC unterstützt nur einige der oben genannten REST - Prinzipien, während die WEB-API alle oben genannten REST - Prinzipien unterstützt. 

MVC unterstützt nur Folgendes von der REST - API

  • Wir können über die URI auf die Ressource zugreifen

  • Es unterstützt das HTTP-Verb für den Zugriff auf die Ressource vom Server

  • Es kann die Ergebnisse in Form von JSON, XML, dh der HTTPResponse, zurückgeben. 

Zur gleichen Zeit jedoch in MVC

  • Wir können die Sitzung nutzen

  • Wir können es zustandsbehaftet machen

  • Wir können Video oder Bilder von der Controller-Action-Methode zurückgeben, die grundsätzlich gegen die REST - Prinzipien verstößt 

Aus diesem Grund ist MVC REST-Based, wohingegen die WEB-API alle oben genannten Prinzipien unterstützt und RESTFul ist.

93
Pramod Nikumbh

Wie Jason in den Kommentaren sagte, wird RESTful nur als Adjektiv verwendet, das etwas beschreibt, das die REST -Einschränkungen berücksichtigt. 

37
Darrel Miller

REST steht für Representational State Transfer. Das bedeutet, dass der Zustand selbst nicht übertragen wird, sondern nur eine Darstellung davon ist. Das häufigste Beispiel ist eine reine HTML-Server-basierte Anwendung (kein Javascript). Der Browser weiß nichts über die Anwendung selbst, aber der Server kann den Status der Anwendung über Links und Ressourcen an den Browser übertragen. Wenn eine Schaltfläche normalerweise eine Statusvariable (z. B. geöffnete Seite) in einer normalen Windows-Anwendung ändern würde, gibt es im Browser einen Link, der eine solche Statusänderung darstellt.

Die Idee ist, Hypermedia zu verwenden. Und vielleicht, um neue Hypermedia-Typen zu erstellen. Möglicherweise können wir den Browser mit Javascript/AJAX erweitern und neue benutzerdefinierte Hypermedia-Typen erstellen. Und wir hätten eine true REST Anwendung.

Dies ist meine kurze Version von, wofür REST steht. Das Problem ist, dass es schwer zu implementieren ist. Ich persönlich sage RESTful, wenn ich mich auf die REST -Prinzipien beziehen möchte, aber ich weiß, dass ich das gesamte Konzept von REST nicht wirklich umsetze. Wir sagen nicht wirklich SOAPful, weil Sie entweder SOAP verwenden oder nicht. Ich denke, dass die meisten Leute dies nicht tun REST wie es der Ersteller Roy Fielding vorstellte, wir implementieren RESTful- oder REST-ähnliche Architekturen. Sie können seine Dissertation sehen, und Sie finden das Akronym REST, aber nicht das Wort RESTful.

27

REST ist eine Art von Softwarearchitektur für verteilte Software

Die Konformität mit den Einschränkungen von REST wird als "RESTful" bezeichnet.

Wird heute sehr häufig verwendet, um Webservices als Alternative zu SOAP zu erstellen.

Hier haben Sie einige Links, die Sie überprüfen können

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/

23
Claudio Redi

vielen Dank für die Antworten. Lesen Sie diesen Artikel von Alex Rodriguez, aus dem hervorgeht, dass ein RESTful-Webdienst 4 grundlegende Eigenschaften aufweist

  1. Verwenden Sie explizit HTTP-Methoden.
  2. Sei staatenlos.
  3. Stellen Sie URIs mit Verzeichnisstruktur zur Verfügung.
  4. Übertragen Sie XML, JavaScript Object Notation (JSON) oder beide.
11
Kumait

Representational State Transfer (REST) ​​ist ein Stil einer Softwarearchitektur für verteilte Hypermedia-Systeme wie das World Wide Web. Der Begriff Representational State Transfer wurde im Jahr 2000 von Roy Fielding 1 [2] in seiner Doktorarbeit eingeführt und definiert. Fielding ist einer der Hauptautoren der Hypertext Transfer Protocol (HTTP) -Spezifikationsversionen 1.0 und 1.1 .. Die Konformität mit den REST - Einschränkungen wird als "RESTful" bezeichnet. Quelle: Wikipedia

10
Andersson Melo

Webdienste sind im Wesentlichen Websites, deren Inhalt von Computerprogrammen verwendet wird, nicht von Menschen. REST ist eine Reihe von Architekturprinzipien, die festlegen, dass Web-Services HTTP und andere Web-Standards maximal nutzen sollten, damit Programme all das Gute erhalten, das die Leute bereits aus dem Web bekommen. REST wird häufig mit SOAP Web-Services und anderen "Remote Procedure Call" -orientierten Web Services verglichen.

Die Präsentationen von Stefan Tilkov zu REST bei Parleys.com sind ziemlich gut, vor allem diese .

Für ein Buch können Sie nicht besser sein als Richardson und Ruby's Restful Web Services .

7
Jim Ferrans

Ein auf REST basierender Dienst wird als "RESTful-Dienst" bezeichnet.

Quelle Ich verlasse mich darauf, dass Folgendes veröffentlicht wird: Dr.Dobbs Archive

4
DaddyM

Im Richardson-Reifegradmodell sind 4 API-Ebenen definiert. Diese sind definiert als: 

Während Level 1, Level 2 und Level 3 als REST -Systeme betrachtet werden können, gelten nur die strengeren Level (alias Level 2 und Level 3) als REST-fähig.

Im Wesentlichen sind alle RESTful Apis REST Apis, aber nicht alle REST Apis sind RESTful

/ - Definition des Richardson-Reifegradmodells

1
Andrew Norman

Stellen Sie sich REST als architektonische "Klasse" vor, während RESTful die bekannte "Instanz" dieser Klasse ist.

Bitte beachten Sie das ""; es handelt sich hier nicht um "echte" Programmierobjekte.

0
Pat

REST (REpresentation State Transfer) ist eine Architektur, mit der WebServices erstellt werden.

und

RESTful ist das Schreiben von Diensten unter Verwendung der REST-Architekturen. RESTful Services stellen die Ressourcen zur Verfügung, um die Ziele für die Interaktion mit Clients zu identifizieren.

0
Manas