« Back to Glossary Index

Was ist eine REST-API?

REST-API ist eine Art von Programmierschnittstellen und steht für Representational State Transfer. Sie ist ein Client-Server-Architekturstil, der über HTTP, also Hypertext Transfer Protocol, kommuniziert. Die Schnittstelle kommuniziert also mithilfe von Protokollen mit einem Server. Die HTTP-Kommunikation kommt im Kontext von Webdiensten zur Anwendung, weil diese eben auch mit dem Internetstandard Hypertext Transfer Protocol arbeiten.  

Welche Eigenschaften machen eine API RESTful?

  1. Stateless: Sie ist zustandslos, was bedeutet, dass keine Daten zwischengespeichert werden, sondern jede Anfrage alle Informationen enthält, die für die Daten notwendig sind. Die Bezeichnung REST verbildlicht den Übergang vom aktuellen Zustand in den nächsten, der durch den Datentransfer erfolgt, die den nächsten Zustand repräsentieren. Eine Voraussetzung dafür ist die Client-Server-Architektur, bei der der Server einen Dienst bereitstellt, den der Client abfragen kann. Denn die Daten sind auf dem Server gespeichert und werden nur paketweise über Anfragen angefordert. Die Statelessness ist deswegen ein Vorteil, weil die Anwendungen skalierbar sind.  
  2. Cachefähigkeit: Die Antworten des Servers können gecacht werden, um die Leistung zu erhöhen. Cachefähigkeit sorgt dafür, dass Antworten zwischengespeichert werden können. Dazu wird bei der jeweiligen Information angegeben, dass sie zwischengespeichert werden soll. Wird die Anfrage erneut gesendet, kann auf die Antwort im Cache zurückgegriffen werden, was die API leistungsfähiger macht. 
  3. Schichtenarchitektur: Die Schichtenarchitektur erlaubt das Zwischenschalten von Sicherheitsschichten. 

3 Komponenten einer REST-AP

Zur REST-API gehören ein Server, ein Client und Ressourcen. Der Client ist ein Programm, über das die Benutzer:innen die Kommunikation starten. Die Kommunikation findet mit dem Server statt, der die Ressourcen wie Bilder oder Dokumente speichert, die über die API angefordert werden. 

Wie funktioniert eine REST-API?

Mit den Befehlen READ, DELETE, PUT, GET und POST fragt der Client bestimmte Ressourcen vom Server ab. Außerdem kann er damit Informationen bekommen oder Ressourcen hinzufügen. Ressourcen sind Daten wie Bilder oder Dokumente, die gelesen, gelöscht oder geändert werden können. Die Änderung von Daten erfolgt dabei über Repräsentationen. Das heißt, der Client sendet Darstellungen an den Server, der darüber Daten zum Beispiel löschen oder hinzufügen soll. 

Wie sieht die Anforderungsstruktur aus?

Der Client stellt eine Anfrage, der Server gibt eine Antwort mit verschlüsselten Daten, und zwar über eine Ressource. Die Anforderungsstruktur umfasst die HTTP-Methode wie zum Beispiel POST zum Hinzufügen, zudem einen Endpunkt wie die URI oder URL, einen Header und den Body 

Die URL enthält die vollständige Webadresse. Ressourcen werden darüber hinaus auch über URLs adressiert. Solche Uniform Resource Locations sind Unterformen von Uniform Resource Identifiers (URI) und geben die Webadresse von Seiten an. Das heißt, sie geben den Ort an, wo sie zu finden sind 

Der Header enthält die Authentifizierungsdaten von Client und Server, also den API-Schlüssel, den Namen und die IP-Adressen. Der Body enthält sodann die Daten, die man mit dem POST-Befehl hinzufügen möchte. Der API-Schlüssel oder API-Key ist eine numerische Zeichenfolge, die mit angegeben werden muss, damit der Server den Zugriff auf die Ressourcen bestätigt. Er wird vom API-Betreiber zur Verfügung gestellt. 

« Back to Glossary Index