Zum Inhalt springen

Representational State Transfer

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. November 2007 um 01:28 Uhr durch DasBee (Diskussion | Beiträge) (Revert auf Version von Benutzer:81.27.116.7 (5. Nov. 2007, 10:46). Dazu gibt's Interwikis). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Der Begriff Representational State Transfer (REST) bezeichnet einen Softwarearchitekturstil für verteilte Hypermedia-Informationssysteme und beschreibt insbesondere die Architektur des World Wide Web.

Der Begriff stammt aus der Dissertation von Roy Fielding aus dem Jahr 2000, in der der Erfolg des World Wide Web auf bestimmte Eigenschaften der verwendeten Mechanismen und Protokolle (z.B. HTTP) zurückgeführt wird. Roy Fielding ist einer der Hauptautoren der Spezifikation des HTTP-Protokolls.

Grundlagen

REST reduziert die Schnittstelle zwischen Systemen auf einheitliche Aktionen. Im World Wide Web sind das typischerweise PUT, POST, GET und DELETE. Mit diesen vier Methoden werden Ressourcen abgefragt und geändert:

  • Mit GET fordert der Client Daten vom Server an.
  • Mit POST werden neue Daten/Ressourcen auf dem Server abgelegt.
  • Mit PUT werden Daten aktualisiert oder untergeordnete Ressourcen ergänzt.
  • Mit DELETE löscht der Client Daten auf dem Server.

Für die Umsetzung des REST-Architekturstils werden meist Internet-Technologien verwendet. Als Transportprotokoll wird HTTP verwendet und die vier HTTP-Methoden GET, POST, PUT und DELETE entsprechen genau den Verben des REST-Architekturstils.

Prinzipien

  • Ein zustandsloses Client/Server-Protokoll: Jede HTTP-Botschaft enthält alle Informationen, die notwendig sind, um die Nachricht zu verstehen. Deshalb muss weder der Server noch der Client Zustandsinformationen zwischen zwei Nachrichten speichern. In der Praxis nutzen jedoch viele HTTP-basierte Anwendungen Cookies und andere Techniken, um Zustandsinformationen zu behalten.
  • Eine Menge von wohldefinierten Operationen, die auf alle Informationen (Ressourcen genannt) angewendet werden können: HTTP selbst definiert eine Reihe von Operationen, darunter GET, POST, PUT und DELETE.
  • Eine universelle Syntax zur Identifikation von Ressourcen: In einem REST-System ist jede Ressource eindeutig durch ihre URI adressierbar.
  • Die Verwendung von Hypermedia sowohl für Anwendungsinformationen als auch für Zustandsveränderungen: Repräsentationen in einem REST-System sind typischerweise im HTML- oder XML-Format, welche sowohl Informationen als auch Links zu anderen Ressourcen enthalten. Deshalb ist oftmals möglich, von einer Ressource zu einer anderen zu navigieren, indem man einfach Verknüpfungen folgt, ohne dass dafür Registrierungsdatenbanken oder ähnliche Infrastrukturen erforderlich sind.

Siehe auch