Tausende Systeme wollten sich über das Internet zugänglich machen, doch jedes baute ein eigenes RPC-Protokoll, sodass kein Client mit zweien von ihnen sprechen konnte. Das Hindernis waren weder Köpfe noch Bandbreite; es war eine auf jeden Dienst zugeschnittene Schnittstelle.
Fieldings Dissertation zeigte, dass das Minimum eine einheitliche Schnittstelle war: Ressourcen mit einer URI identifizieren, sie über Repräsentationen manipulieren, Nachrichten selbsterklärend halten und Hypermedia als Motor des Zustands nutzen, aufbauend auf den bestehenden Einschränkungen von Client-Server, Zustandslosigkeit und Cache.
Weil REST die generischen Verben von HTTP wiederverwendete, statt neue zu erfinden, konnte ein Client, der eine Seite abrufen konnte, auch eine API aufrufen. Deshalb wurde REST zum Standard für Web-APIs und verdrängte den RPC- und CORBA-Stil.
Die Verben und Ressourcenadressen von HTTP als Schnittstelle wiederverwenden.
Die einheitliche Schnittstelle bedeutet, dass ein einziger generischer Client und ein einziges Bibliotheksset gegen jede REST-API funktionieren, wodurch die Integrationskosten sinken.
Weil REST einschränkt statt definiert und auf HTTP aufbaut, benötigte es kein neues Protokoll und keinen neuen Stack, um eingesetzt zu werden.
Zustandslosigkeit plus Caching ermöglichten es Middleware, Anfragen zu skalieren, ohne dass der Server zwischen Aufrufen weiß, wer ein Aufrufer ist.
Hypermedia als Motor des Zustands ermöglicht es einem Client, Handlungsmöglichkeiten zu entdecken, statt jeden Endpunkt fest zu codieren.
Ein Standard, der aus der Sache abgeleitet wird, die bereits überall läuft, erbt deren Reichweite; manchmal ist die größte Designentscheidung die Einschränkung, die man nicht hinzuzufügen bereit ist.
Fieldings Dissertation wurde im Jahr 2000 veröffentlicht, und REST wurde zum dominierenden Stil für öffentliche und interne Web-APIs und ersetzte RPC im SOAP-Stil. Später kamen Konventionen hinzu (OpenAPI und die CRUD-über-HTTP-Lesart, die Hypermedia oft zu wenig nutzt), und manche argumentieren, dass seine strengste Hypermedia-Form selten implementiert wurde, doch die Idee der einheitlichen Schnittstelle setzte sich durch.
DEN BELEGEN FOLGEN
Die Quellen
- Representational State Transfer (REST), Fielding Dissertation Chapter 5 Roy T. Fielding / University of California, Irvine · ics.uci.edu
- Representational state transfer Wikipedia · en.wikipedia.org