Was ist der Unterschied zwischen einem REST-System und einem System, das RESTful ist?
Aus einigen Dingen, die ich lesen Die meisten so genannten REST-Dienste sind eigentlich RESTful-Dienste. Was ist also der Unterschied zwischen den beiden.
Was ist der Unterschied zwischen einem REST-System und einem System, das RESTful ist?
Aus einigen Dingen, die ich lesen Die meisten so genannten REST-Dienste sind eigentlich RESTful-Dienste. Was ist also der Unterschied zwischen den beiden.
Repräsentative Zustandsübertragung (REST) ist ein Stil der Softwarearchitektur. Wie in einer Dissertation von Roy Fielding beschrieben, ist REST ein "architektonischer Stil", der im Wesentlichen die bestehende Technologie und die Protokolle des Webs nutzt.
RESTful wird in der Regel für Webdienste verwendet, die eine solche Architektur umsetzen.
@manei_cc: In der Praxis findet man jedoch Dienste, die als RESTful bezeichnet werden, aber nicht der REST-Architektur folgen und im Grunde genommen REST-ähnlich sind, REST-Wannabies usw. Achten Sie also immer darauf, dass ein "RESTful Service" nicht unbedingt mit der REST-Architektur aufgebaut ist, sondern wie Justin Ethier schrieb: nutzt die bestehende Technologie und die Protokolle des Web .
RESTful sollte für APIs verwendet werden, die REST wirklich respektieren. Ich habe zu viele "REST"-Webservices gesehen, die nur GET oder POST verwenden. RESTful legt den Schwerpunkt auf die vollständige Verwendung von HTTP-Verben und URL-Namenskonventionen. Aber das ist nur mein Standpunkt.
Um diese 2 zu unterscheiden oder zu vergleichen, sollten Sie wissen, was REST ist.
REST ( RE Präsentation S tate T ransfer) ist im Grunde ein architektonischer Entwicklungsstil mit einigen Prinzipien:
Sie sollte zustandslos sein
Er sollte auf alle Ressourcen des Servers zugreifen, indem er nur URI
Es hat keine eingebaute Verschlüsselung
Sie hat keine Sitzung
Es verwendet ein einziges Protokoll - HTTP
Für die Durchführung von CRUD-Operationen sollte es HTTP-Verben verwenden wie get
, post
, put
y delete
Es sollte das Ergebnis nur in Form von JSON oder XML, Atom, OData usw. (leichtgewichtige Daten) zurückgeben.
REST based services
einige der oben genannten Grundsätze befolgen, aber nicht alle
RESTFUL services
bedeutet, dass sie alle oben genannten Grundsätze befolgt.
Es ist ähnlich wie das Konzept der:
Object oriented languages
alle OOP-Konzepte unterstützen, Beispiele : C++, C#
Object-based languages
einige der OOP-Funktionen unterstützen, Beispiele : JavaScript, VB
Ejemplo :
ASP Dot NET MVC 4 ist REST-Based
während die Microsoft WEB API RESTFul
.
MVC unterstützt nur einige der oben genannten REST-Prinzipien, während WEB API alle oben genannten REST-Prinzipien unterstützt.
MVC unterstützt nur die folgenden Funktionen der REST-API
Wir können auf die Ressource über URI 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, das ist die HTTPResponse zurück.
Gleichzeitig wird jedoch in MVC
Wir können die Sitzung verwenden
Wir können es zustandsabhängig machen
Wir können ein Video oder ein Bild von der Aktionsmethode des Controllers zurückgeben, was grundsätzlich gegen die REST-Prinzipien verstößt
Deshalb ist MVC REST-Based
in der Erwägung, dass die WEB API alle oben genannten Grundsätze unterstützt und RESTFul
.
Ich verstehe nicht, warum dies heruntergestuft wurde, denn diese Antwort enthält viele klärende Informationen zu der Frage.
REST steht für Representational State Transfer. Das bedeutet, dass der Zustand selbst nicht übertragen wird, sondern lediglich eine Repräsentation desselben. Das häufigste Beispiel ist eine rein HTML-basierte Serveranwendung (kein Javascript). Der Browser weiß nichts über die Anwendung selbst, aber über Links und Ressourcen ist der Server in der Lage, den Zustand der Anwendung an den Browser zu übertragen. Während eine Schaltfläche in einer normalen Windows-Anwendung normalerweise eine Zustandsvariable (z. B. "Seite geöffnet") ändern würde, gibt es im Browser einen Link, der eine solche Zustandsänderung darstellt.
Die Idee ist, Hypermedia zu verwenden. Und vielleicht neue Hypermedia-Typen zu schaffen. Möglicherweise können wir den Browser mit Javascript/AJAX erweitern und neue benutzerdefinierte Hypermedia-Typen erstellen. Und wir hätten eine echte REST-Anwendung.
Das ist meine Kurzversion dessen, wofür REST steht. Das Problem ist, dass es schwer zu implementieren ist. Ich persönlich sage "RESTful", wenn ich auf die REST-Prinzipien verweisen will, aber ich weiß, dass ich nicht wirklich das ganze Konzept von REST umsetze. Wir sagen nicht wirklich SOAPful, weil man entweder SOAP verwendet oder nicht. Ich glaube, die meisten Leute setzen REST nicht so um, wie es sich sein Schöpfer Roy Fielding vorgestellt hat, sondern wir implementieren tatsächlich RESTful oder REST-ähnliche Architekturen. Sie können seine Dissertation und Sie werden das Akronym REST finden, aber nicht das Wort RESTful.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
3 Stimmen
Der Grund für die Frage ist, dass die meisten REST-Implementierungen gar keine REST-Systeme sind, wenn man den Artikel in dem Link liest und nachschlägt, was Dr. Fielding über sie denkt. Sie zeigen zwar ein REST-gerechtes Verhalten, können aber nicht als REST-Systeme eingestuft werden.
5 Stimmen
Ich habe den Artikel gelesen, aber ich glaube nicht, dass er ihn zu solchen semantisch nutzlosen Unterscheidungen veranlasst hat.
7 Stimmen
Wikipedia-Artikel über REST - de.wikipedia.org/wiki/Darstellung_Zustand_Übertragung - Zweiter Absatz - "Die Einhaltung der REST-Einschränkungen wird oft als 'RESTful' bezeichnet."
1 Stimmen
@PramodNikumbh hat dies unten richtig beantwortet. Ein "REST"-System ist ein System, das einer breiteren Definition von REST entspricht. Es weist zumindest einige Rest-Prinzipien auf. "Restful" beschreibt ein viel mehr REST-konformes System.
1 Stimmen
Nun, ich denke, es gibt eine Verwirrung in den Namen, die "ful" in RESTful wird zu verwechseln zustandslos und zustandsabhängig und das sind zwei verschiedene Dinge, REST und RESTful meiner persönlichen Meinung nach, müssen STATELESS. vorstellen, eine zustandsabhängige REST namens RESTles.)
0 Stimmen
Der REST-Webdienst wird von Dienstanbietern und Dienstnutzern verwendet, z. B. wenn Sie eine Kinokarte buchen/kaufen möchten.