Was ist der Unterschied zwischen einem REST-System und einem REST-fähigen System?
Von ein paar Dingen, die ich gelesen habe, sind die meisten sogenannten REST-Services tatsächlich RESTful-Services. Was ist der Unterschied zwischen den beiden.
Was ist der Unterschied zwischen einem REST-System und einem REST-fähigen System?
Von ein paar Dingen, die ich gelesen habe, sind die meisten sogenannten REST-Services tatsächlich RESTful-Services. Was ist der Unterschied zwischen den beiden.
Antworten:
Representational State Transfer (REST) ist ein Stil der Softwarearchitektur. Wie in einer Dissertation von Roy Fielding beschrieben, ist REST ein "Architekturstil", der im Wesentlichen die vorhandenen Technologien und Protokolle des Web nutzt.
RESTful wird normalerweise verwendet, um auf Webdienste zu verweisen, die eine solche Architektur implementieren.
architect
von was? von URLs? wie https://translation.googleapis.com/language/translate/v2
ist das der REST-Stil?
Um diese 2 zu unterscheiden oder zu vergleichen, sollten Sie wissen, was REST ist .
REST ( RE Präsentations - S tate T ransfer) ist im Grunde ein Architekturstil der Entwicklung einige Prinzipien mit:
Es sollte staatenlos sein
Es sollte vom Server aus nur mit URI auf alle Ressourcen zugreifen
Es ist keine Verschlüsselung integriert
Es hat keine Sitzung
Es wird nur ein Protokoll verwendet - HTTP
Für CRUD - Operationen durchführen, sollten sie HTTP Verben wie get
, post
, put
unddelete
Das Ergebnis sollte nur in Form von JSON oder XML, Atom, OData usw. zurückgegeben werden (Lightweight-Daten).
REST based services
Befolgen Sie einige der oben genannten Prinzipien und nicht alle
RESTFUL services
bedeutet, dass es allen oben genannten Prinzipien folgt.
Es ähnelt 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 ist RESTFul
.
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 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 Videos oder Bilder von der Controller-Aktionsmethode zurückgeben, die grundsätzlich gegen die REST-Prinzipien verstößt
Aus diesem Grund unterstützt MVC REST-Based
alle oben genannten Prinzipien und ist dies auch RESTFul
.
"REST" ist ein architektonisches Paradigma. "RESTful" beschreibt die Verwendung dieses Paradigmas.
architect
von was? von URLs? wie https://translation.googleapis.com/language/translate/v2
ist das der REST-Stil?
Wie Jason in den Kommentaren sagte, wird RESTful nur als Adjektiv verwendet, das etwas beschreibt, das die REST-Einschränkungen respektiert.
REST steht für Representational State Transfer. Das heißt, der Staat selbst wird nicht übertragen, sondern nur dargestellt. Das häufigste Beispiel ist eine reine HTML-Server-basierte App (kein Javascript). Der Browser weiß nichts über die Anwendung selbst, aber über Links und Ressourcen kann der Server den Status der Anwendung an den Browser übertragen. Wenn eine Schaltfläche normalerweise eine Statusvariable (z. B. Seite geöffnet) in einer regulären Windows-Anwendung ändert, haben Sie 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 echte REST-Anwendung.
Dies ist meine Kurzversion von REST. Das Problem ist, dass es schwer zu implementieren ist. Ich persönlich sage RESTful, wenn ich auf die REST-Prinzipien verweisen 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, die meisten Leute machen REST nicht so, wie es sich der Schöpfer Roy Fielding vorgestellt hat. Wir implementieren tatsächlich RESTful- oder REST-ähnliche Architekturen. Sie können seine Dissertation sehen und finden das Akronym REST, aber nicht das Wort RESTful.
REST ist ein Stil der Softwarearchitektur für verteilte Software
Die Einhaltung der REST-Einschränkungen wird als "RESTful" bezeichnet.
Wird heute sehr häufig verwendet, um Webdienste als Alternative zu SOAP zu erstellen.
Hier haben Sie einige Links zu überprüfen
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/
Danke für die Antworten. Lesen Sie diesen Artikel von Alex Rodriguez, der darauf hinweist, dass ein RESTful-Webdienst vier grundlegende Merkmale aufweist:
Representational State Transfer (REST) ist ein Stil der 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 Dissertation eingeführt und definiert . Fielding ist einer der Hauptautoren der HTTP-Spezifikation (Hypertext Transfer Protocol) der Versionen 1.0 und 1.1. Die Einhaltung der REST-Einschränkungen wird als "RESTful" bezeichnet. Quelle: Wikipedia
Webdienste sind im Wesentlichen Websites, deren Inhalt von Computerprogrammen und nicht von Personen verwendet wird. REST ist eine Reihe von Architekturprinzipien, die festlegen, dass Webdienste HTTP und andere Webstandards maximal nutzen sollen, damit Programme all die guten Dinge erhalten, die Menschen bereits aus dem Web herausholen können. REST wird häufig mit SOAP-Webdiensten und anderen auf "Remote Procedure Call" ausgerichteten Webdiensten verglichen.
Stefan Tilkovs Präsentationen auf REST bei Parleys.com sind ziemlich gut, besonders diese .
Für ein Buch gibt es nichts Besseres als Richardson und Rubys Restful Web Services .
Ein auf REST basierender Service wird als "RESTful-Service" bezeichnet.
Quelle Ich verlasse mich darauf, Folgendes zu veröffentlichen: Dr.Dobbs Archive
Im Richardson Maturity Model sind 4 API-Ebenen definiert. Diese sind definiert als:
Stufe 0: Jedes System, das einen einzigen Endpunkt für alle seine Apis hat (SOAP oder RPC fallen in diese Kategorie). Level 0 APIs können auch "Befehlen" ähneln.
Stufe 1: Ein von ResourceUri beschriebenes System. Dies ist ein System, das mehrere entitätsbasierte URIs definiert (anstatt einen einzelnen Endpunkt zu haben, wie dies bei Systemen der Ebene 0 der Fall wäre). Diese URIs können verschiedene http-Aktionen (POST, GET, PUT usw.) verwenden, um verschiedene Aktionen für diese Ressource zu implementieren.
Stufe 2: auch bekannt als Stufe 1 mit konformer Verwendung von Standard-HTTP-Methoden / Verben und Multi-Status-Code-Antworten
Stufe 3: auch bekannt als Stufe 2 plus HATEOAS (Hypermedia in der Antwort enthalten, die zusätzliche Anrufe beschreibt, die Sie tätigen können)
Während Level 1, Level 2 und Level 3 als REST-Systeme betrachtet werden können, gelten nur die strengeren Level (auch bekannt als Level 2 und Level 3) als RESTful.
Im Wesentlichen sind alle RESTful-Apis REST-Apis, aber nicht alle RESTful-Apis sind RESTful
Ein "REST-Service" und ein "RESTful-Service" sind ein und dasselbe.
Ein RESTful-System ist ein System, das den im Originaldokument definierten REST-Konventionen folgt , aus denen die Idee von RESTful-Netzwerkanwendungen hervorgegangen ist .
Es ist erwähnenswert, dass es unterschiedliche Ebenen der Ruhe gibt. Insgesamt ist REST ein Stil, kein Standard, daher gibt es Raum für eine Interpretation, die auf den Bedürfnissen basiert. Ein Beispiel sind hierarchische Ressourcen-URLs (z. B. /things/ID/relatedthings
) und flache URLs (z. B. /things/ID
und /relatedthings?thing=ID
).
REST (REpresentation State Transfer) ist eine Architektur, mit der WebServices erstellt werden.
und
RESTful ist eine Methode zum 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.