REST

Representational State Transfer (REST) beschreibt für Webservices eine Softwarearchitektur, um Schnittstellen für Client-Server-Anwendungen zu entwickeln, die über das World Wide Web oder das HTTP-Protokoll bereitgestellt werden. 

Typischerweise enthält eine REST-Anwendung eine einheitliche Programmierschnittstelle, um die Aufgaben der Anwendung auf Clients und Server verteilen zu können. Die Kommunikation zwischen Client und Server erfolgt dabei statuslos. 

Typisch für REST-Anwendungen ist das Konzept von sog. Ressourcen, also Informationen, die eindeutig adressierbar und identifizierbar sein müssen und deshalb unter einem Uniform Resource Identifier (URI) bereitgestellt werden.

Ressourcen bzw. Informationen werden von einer REST-Anwendung meistens im HTML-, XML- oder JSON-Datenformat bereitgestellt, die dann sowohl Informationen als auch Links bzw. URIs zu anderen Ressourcen enthalten können. Dagegen spricht aber nicht, dass auch binäre Daten bereitgestellt werden können, zum Beispiel Bild- und Ton-Dateien.