it-swarm.dev

Was ist REST (in einfachem Englisch)

In letzter Zeit habe ich mich dafür interessiert, mich mit REST vertraut zu machen. Ich habe versucht, Wiki-Eintrag auf REST zu lesen, aber es hat nicht geholfen. Ich würde es wirklich begrüßen, wenn jemand in einfachem Englisch erklären kann (das ist ohne unnötigen Fachjargon)

  1. Was ist REST?
  2. Welche Position nimmt es im Webarchitektur-Ökosystem ein?
  3. Wie eng (oder locker) es mit dem Protokoll gekoppelt ist.
  4. Was sind die Alternativen zu REST und wie wird REST mit ihnen verglichen)?.

Ich verstehe, dass es möglicherweise nicht möglich ist, dies in ein oder zwei Absätzen zu beantworten. In diesem Fall werden relevante Links sehr geschätzt.

85
Gaurav

Was ist REST (in einfachem Englisch)

Einfaches Englisch:

Repräsentativ: die Handlung, für jemanden zu sprechen oder zu handeln.
Statusübertragung: Übertragungsstatus.


Technisch:

  • wir übertragen kein tatsächliches Objekt, sondern eine Darstellung davon in einem Formular (z. B. xml/json/text zur Darstellung einer Datenbanktabelle).
  • RESTs zum Bereitstellen einer öffentlichen API über das Internet zur Verarbeitung von CRUD-Operationen für Daten. REST konzentriert sich auf den Zugriff auf benannte Ressourcen über eine einzige konsistente Schnittstelle.
  • REST ist repräsentiert über einen Medientyp. Einige Beispiele für Medientypen sind XML, JSON und RDF.
  • REST ist ein Architekturstil für ressourcenorientierte Architektur (ROA) , keine Spezifikation oder ein Standard.
  • Architekturstil bedeutet, dass es sich um ein Konzept, eine Theorie handelt (und wie es umgesetzt wird, liegt bei Ihnen)
  • Alles wird durch einen eindeutigen Endpunkt identifiziert. es gibt einen Endpunkt für jede Ressource (Daten).
  • Der Endpunkt besteht aus einem Domänennamen mit einer Ressourcenadresse.

REST vs SOAP

10
Premraj

Was ist REST?

Transfer des repräsentativen Staates. Es beschreibt, wie ein System den Status mit einem anderen kommunizieren kann. Ein Beispiel wäre der Status eines Produkts (Name, Beschreibung usw.), der als XML, JSON oder einfacher Text dargestellt wird. Die verallgemeinerte Staatsidee wird als Ressource bezeichnet.

Welche Position nimmt es in einem Webarchitektur-Ökosystem ein?

REST wird häufig mit der Webdienstschnittstelle verknüpft, da HTTP bei weitem das am häufigsten verwendete Trägerprotokoll ist. Im 7-Schicht-Modell existiert es auf der Anwendungsschicht . Siehe jedoch den nächsten Abschnitt.

Wie eng (oder locker) ist es mit dem Protokoll gekoppelt?

REST ist kein HTTP. Es verwendet HTTP, weil in seiner allgemeinsten Form REST existiert, um eine Maschine bei der Zuordnung des Konzepts eines Verbs zu einer beliebigen Sammlung von Substantiven zu unterstützen. HTTP enthält einen nützlichen Satz generischer Verben (GET, PUT) , PATCH usw.), die auf beliebige Substantive angewendet werden können, die mit HTTP als URIs ausgedrückt werden, z. B. GET http://example.org/Product (54 ).

Was sind die Alternativen zu REST und wie funktioniert REST mit ihnen vergleichen )

Dies ist vergleichbar mit der Frage "Wie ruhig ist mein Ansatz?" Verwenden Sie die folgende Liste (zusammengefasst aus dem Richardson Maturity Model, wie von Martin Fowler beschrieben ):

Level 0 - Der Sumpf von POX

Verwenden Sie POST für alles (Lesen, Schreiben, Löschen). Dies ist SOAP, POX, RPI usw. Sie verwenden HTTP nur als Tunnel für Ihr eigenes Protokoll. Sie zielen auf einen einzelnen Endpunkt ab erledigt alles basierend auf dem Inhalt des Anforderungshauptteils.

Level 1 - Ressourcen

Verwenden Sie POST für alles. Zielen Sie auf mehrere Endpunkte ab, um Informationen zu einer bestimmten Sache bereitzustellen. Sie haben gerade Ressourcen entdeckt.

Level 2 - HTTP-Verben

Verwenden Sie HTTP-Verben für Ressourcen. Jetzt bekommst du es. POST ist zu erstellen, PUT ist zu überschreiben, OPTIONEN für verfügbare Operationen, LÖSCHEN, um die Ressource zu löschen. Aufgrund der Verwendung dieser Verben unterschiedlich HTTP-Statuscodes beginnen, relevanter zu werden (202 AKZEPTIERT jemand?).

Level 3 - Hypermedia-Kontrolle ( HASSOAS )

An diesem Punkt machen Sie den letzten Sprung und führen Hypermedia als Flusskontrollmechanismus ein. Ein REST-Client benötigt keine Vorkenntnisse zur Interaktion mit einer bestimmten Anwendung oder einem bestimmten Server, die über ein allgemeines Verständnis von Hypermedia hinausgehen. Dies kann in HTTP über das Headerfeld Inhaltstyp kommuniziert werden. Zu den Textformaten gehören AtomPub und (prägnanter) HAL , während HyperAudio gut für Audio-Streams funktioniert (siehe SoundCloud et al)

44
Gary Rowe

Während REST eine Abkürzung für Representational State Transfer ist), ist es möglicherweise einfacher, die Idee, verschiedene Aktionen über eine etwas intuitive Benutzeroberfläche auszuführen, in Betracht zu ziehen.

Beispielsweise könnte eine URL wie http://www.mysite.com/FindProduct/125/ als jemand interpretiert werden, der Informationen zum Produkt mit einer ID von 125 erhalten möchte.

Während REST normalerweise in Bezug auf HTTP gedacht wird, könnte das Konzept auf andere Protokolle angewendet werden, wie in der Wikipedia-Referenz angegeben.

Andere Beispiele für REST, die nützlich sein können:

11
JB King