REST API
Zur Navigation springen
Zur Suche springen
Allgemein
- Representational State Transfer ist ein Paradigma für die Softwarearchitektur von verteilten Systemen.
- Sie wird insbesondere für Webservices verwendet
- REST ist eine Abstraktion der Struktur und des Verhaltens des World Wide Web.
- Sie hat das Ziel, einen Architekturstil zu schaffen, der den Anforderungen des modernen Web besser genügt.
- Manunterscheidet sich REST vor allem in der Forderung nach einer einheitlichen Schnittstelle von anderen Architekturstilen.
Zweck
- Der Zweck von REST liegt schwerpunktmäßig auf der Maschine-zu-Maschine-Kommunikation.
- Sie stellt eine einfache Alternative zu ähnlichen Verfahren wie SOAP und WSDL und dem verwandten Verfahren RPC dar.
- Anders als bei vielen verwandten Architekturen kodiert REST keine Methodeninformation in den URI
- Die URI gibt den Ort und Namen der Ressource, nicht aber die Funktionalität, die der Web-Dienst zu der Ressource anbietet.
- Vorteil der REST liegt darin, dass im WWW bereits ein Großteil der für REST nötigen Infrastruktur vorhanden ist
- Desweiteren gibt es viele Web-Dienste per se REST-konform sind.
- Eine Ressource kann dabei über verschiedene Medientypen dargestellt werden, auch Repräsentation der Ressource genannt.
- Ein Online-Dienst, der lediglich unveränderte Seiteninhalte nach dem Internetstandard HTTP anbietet, bereits REST-konform.
- Dynamisch erzeugte Seiten folgen diesem Paradigma jedoch oft nicht.
- So bieten beispielsweise Nachrichtenseiten sich ständig ändernde Informationen mit sowohl unterschiedlichem Format als auch Inhalt an, die nur schwer automatisch verarbeitet werden können.
- Bliebe das Format unverändert, so wäre eine wichtige REST-Eigenschaft erfüllt.
- So wäre eine Webseite, auf der ständig die aktuelle Uhrzeit in immer demselben Format abrufbar ist, REST-konform.
- Die Bezeichnung „Representational State Transfer“ soll den Übergang vom aktuellen Zustand zum nächsten Zustand (state) einer Applikation verbildlichen.
- Dieser Zustandsübergang erfolgt durch den Transfer der Daten, die den nächsten Zustand repräsentieren.