REST

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Wechseln zu:Navigation, Suche
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen eventuell nicht:
  ☆☆☆☆☆ Korrektheit: nicht überprüft
  ★★☆☆☆ Umfang: wichtige Fakten fehlen
  ★☆☆☆☆ Quellenangaben: Quellen fehlen großteils
  ★★★☆☆ Quellenqualität: gut
  ★★★☆☆ GlossarWiki-Konformität: gut

1 Definition

REST (Representational State Transfer) ist ein Architekturstil für Webservices und konkurriert dabei vor allem mit SOAP. REST stützt sich auf Spezifikationen aus dem HTTP-Protokoll:

  • Resourcen-orientiert
  • Resourcen werde über URLs angesprochen
  • Verbindungslos
  • Verschiedene Repräsentationen von Resourcen
  • Explizite Verwendung von HTTP-Methoden

Im Kern dreht sich bei REST alles um Resourcen, welche über URLs eindeutig identifiziert werden. Diese Resourcen können in verschiedenen Repräsentationen abgerufen werden (.xml, .json) und enthalten den Zustand einer Resource. Durch die explizite Verwendung von HTTP-Methoden unterstützen alle RESTful gestalteten Webservices die gleiche Schnittstelle. Das heißt:

  • HTTP-POST: Anlegen einer Resource (Create)
  • HTTP-GET: Abrufen einer Resource (Read)
  • HTTP-PUT: Aktualisieren einer Resource (Update)
  • HTTP-DELETE: Löschen einer Resource (Delete)

Wie dargestellt lassen sich die HTTP-Methoden 1:1 den typischen Datenbank-Aktionen CRUD zuordnen. REST passt durch die Verwendung der HTTP-Methoden zur Gesamtarchitektur des WWW. Verbindungslosigkeit meint, dass keine Session-Informationen außerhalb von REST-Anfragen existieren und jede Anfrage in sich abgeschlossen und vollständig ist.

Viele Web-APIs die nicht RESTful arbeiten besitzen GET-Schnittstellen, mit denen man Resourcen anlegen kann.

2 Vorteile

  • Passt zur Architektur des WWW und stützt sich auf das Protokoll des WWW, nämlich HTTP.
  • Verwendung des last-modified, if-modified-since oder cache-controler Headers zur Minimierung der Anfragehäufigkeit.
  • Einfache Skalierbarkeit, da keine Session-Informationen außerhalb von REST-Anfragen gespeichert werden müssen.

3 Quellen