Representational State Transfer


Der Begriff Representational State Transfer (REST) wurde von Dr. Thomas Roy Fielding im Jahr 2000 in seiner Dissertation geprägt. Er bezeichnet einen Architekturstil für verteilte Hypermedia-Anwendungen. Darin werden die Mechanismen von HTTP für aktuelle und zukünftige Web-Anwendungsarchitekturen verallgemeinert.

REST ist aber auch ein Synonym für eine Reihe von Webservice-Implementierungen, die sich gegenüber den RPC-basierten Entwürfen wie SOAP durch die Einhaltung des REST-Architekturstils auszeichnen. Auf SOAP-basierende Protokolle setzen einen XMLHttpRequest ein, um Protokolldaten über HTTP zu übertragen. Dazu muss ein XMLHttpRequest-Objekt verwendet werden, was den Einsatz von aktiven Komponenten wie JavaScript oder Java auf Client-Seite notwendig macht. Daraus ergeben sich verschiedene Schwierigkeiten. So können einfache HTML-Seiten nicht mit SAOP kommunizieren. HTML-Browser und Proxy-Caches sind nicht in der Lage, die durch XMLHttpRequests verursachten Statusänderungen mit zu verwalten und liefern so bei Rückspüngen nicht mehr korrekte Daten. Außerdem wird durch das Mitführen von Zuständen die Skalierbarkeit der Anwendungen verschlechtert.

Um diese Nachteile setzen die Kritiker auf die Einhaltung der REST-Prinzipien:

Adressierbarkeit



Alle im Client zu verwendeten Daten werden als Ressourcen zur Verfügung gestellt, die (ausschließlich) über URIs adressiert werden.

Wohldefinierte Operationen



Es kommt nur eine wohldefinierte Menge von Operationen auf diesen Ressourcen zur Anwendung. Im Idealfall sind dies die HTTP-Operationen:
  • GET: Anfordern von Daten vom Server
  • POST: neue Daten auf dem Server ablegen
  • PUT: vorhandene Daten aktualisieren
  • DELETE: Daten löschen
  • HEAD: Metadaten zu einer Ressource anfordern
  • OPTIONS: prüfen, welche Operationen auf einer Ressource zur Verfügung stehen

Zustandslosigkeit



REST unterscheidet zwischen dem Ressourcenzustand und des Anwendungszustand.

Der Ressourcenzustand beinhaltet Informationen über eine Ressource (Anwendungsdaten), seine Verwaltung obliegt dem Server. Der Client erhält Informationen über den Ressourcenzustand ausschließlich über die ihm zugestellten Repräsentationen der Ressource (als URI).

Der Anwendungszustand bezieht sich auf die Position eines Clients innerhalb der Anwendung, seine Verwaltung obliegt dem Client. Im Gegensatz zu vielen RPC-artigen Architekturen hält ein REST-konforme Anwendung zu keinem Zeitpunkt Informationen über den Anwendungszustand auf der Seite des Servers, z.B. in einer Session, vor. Daher werden REST-konforme Protokolle als zustandslose Protokolle bezeichnet.

Verwendung von Hypermedia



Sowohl für Anwendungsinformationen als auch für Zustandsänderungen werden in REST-Systemen typischer Weise Hypermedia-Daten auf Basis von HTML oder XML verwendet. Dabei ist es oftmals möglich, von einer Ressource einer anderen zu navigieren, indem man direkt Verknüpfungen folgt, ohne dass man über Registrierungsdatenbanken oder ähnliche Infrastrukturen geleitet wird. Diese Art der Verknüpfung von Ressourcen innerhalb einer REST-Architektur wird als Verbindungshaftigkeit bezeichnet.

0-9|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|alle

Suche im Lexikon nach im

 

Fachartikel

Reibungslose Videokommunikation im Unternehmen [30.11.2016]

Genau wie Smartphones und Tablets nicht mehr nur privat, sondern auch beruflich zum Einsatz kommen, verhält es sich mit Videokonferenzen in Unternehmen. In Zeiten dezentraler Teamarbeit und flexibler Arbeitszeiten bietet Videokommunikation Organisationen mit verschiedenen Standorten enorme Vorteile: sie hilft dabei, räumliche Distanzen zu überwinden und eine direkte Form des Austausches zu schaffen. Dieser Artikel schildert, welche Faktoren bei einer Plattform für Videokonferenzen zu beachten sind, und geht dabei besonders auf die technischen Aspekte ein. [mehr]

Grundlagen

Backups in virtuellen Umgebungen [4.10.2016]

Virtuelle Umgebungen wollen natürlich ebenso in das Backupkonzept eingebunden sein, wie physische. Dabei stehen Administratoren grundsätzlich zwei Ansätze zur Verfügung: agentenbasiert und agentenlos. Welche Unterschiede beide Verfahren aufweisen und welche Aspekte zu beachten sind, zeigt dieser Beitrag am Beispiel VMware vSphere. [mehr]

Buchbesprechung

SQL Hacking

von Justin Clarke et al.

Aktueller Tipp

Linux-Logs verstehen [4.12.2016]

Aktuelle Admin-Jobs

Anders & Rodewyk Das Systemhaus für Computertechnologien GmbH - IT-Vertriebsinnendienst - Infrastruktur (m/w)

(Hannover, Deutschland) Anders & Rodewyk Das Systemhaus für Computertechnologien GmbH ist ... [mehr]

Frings Informatic Solutions GmbH - IT-Systemadministrator / Netzwerkadministrator (m/w)

(Hilden, Deutschland) Die Frings Informatic Solutions GmbH umschließt als moderne Systemhausgruppe ... [mehr]

PCO Personal Computer Organisation GmbH & Co.KG - IT-System Engineer Security (m/w)

(Osnabrück, Deutschland) WIR SUCHEN VERSTÄRKUNG IT-System Engineer Security (m/w) Für uns als ... [mehr]