Representational State Transfer (abgekürzt REST) ist ein Architekturstil für die Softwarearchitektur von verteilten Systemen, insbesondere für Webservices.
Siehe auch Geeksforgeeks - RESTful Web Services
RESTful Webservices sind Webservices, die die Prinzipien von REST befolgen.
Die grundlegenden Konzepte von RESTful Webservices:
RESTful Webservices haben eine einheitliche Schnittstelle, die aus vier Schlüsselelementen besteht:
In REST steht alles, was über eine URI (Uniform Resource Identifier) identifiziert werden kann, im Zusammenhang mit einer Ressource. Eine Ressource kann alles sein, auf das von einer Webanwendung aus zugegriffen werden kann, sei es eine Entität wie ein Benutzer oder ein Objekt wie ein Bild.
Ressourcen können verschiedene Repräsentationen haben, wie z.B. XML, JSON oder HTML. Der Client kann die Repräsentation einer Ressource abrufen, modifizieren und an den Server senden.
Jede Anfrage vom Client an den Server muss alle Informationen enthalten, die zum Verstehen und Verarbeiten der Anfrage erforderlich sind. Der Server speichert keinen Zustand über den Client zwischen Anfragen.
Die Einhaltung dieser Prinzipien führt zu leicht verständlichen, skalierbaren und wartbaren Webservices, die sich gut in verteilten Systemen integrieren lassen.
RESTful Webservices unterstützen typischerweise die grundlegenden CRUD-Operationen (Create, Read, Update, Delete) für Ressourcen. Diese Operationen werden durch die HTTP-Methoden POST, GET, PUT und DELETE abgebildet.
HTTP-Methoden wie GET, POST, PUT und DELETE werden verwendet, um die CRUD-Operationen auf den Ressourcen anzuwenden.