Sobes.tech
Middle

Was sind die Prinzipien von REST?

sobes.tech KI

Antwort von AI

Es gibt die folgenden Prinzipien von REST:

  • Client-Server-Architektur: Trennung der Verantwortlichkeiten zwischen Client (Dienstnutzer) und Server (Dienstanbieter). Dies fördert die Portabilität des Client-Codes und die Skalierbarkeit des Servers.
  • Zustandslos (Stateless): Jede Anfrage vom Client an den Server muss alle Informationen enthalten, die der Server benötigt, um die Anfrage zu bearbeiten. Der Server speichert keinen Zustand des Clients zwischen den Anfragen.
  • Cachefähig: Der Server kann explizit angeben, ob Daten vom Client oder Zwischenschichten zwischengespeichert werden dürfen. Dies verbessert die Leistung und Skalierbarkeit.
  • Einheitliche Schnittstelle: Der wichtigste Grundsatz, der vier Unterprinzipien umfasst:
    • Ressourcenidentifikation: Ressourcen werden durch eindeutige URIs identifiziert.
    • Manipulation von Ressourcen durch Repräsentationen: Der Client interagiert mit Ressourcen, indem er ihre Repräsentationen (z.B. im JSON- oder XML-Format) erhält und neue Repräsentationen sendet, um den Zustand der Ressource zu ändern.
    • Selbstbeschreibende Nachrichten: Jede Nachricht enthält genügend Informationen, damit der Empfänger versteht, wie sie verarbeitet werden soll. Es werden standardmäßige HTTP-Header verwendet.
    • Hypermedia als das Steuerungselement des Anwendungszustands (HATEOAS): Der Client muss Informationen über verfügbare Aktionen und mögliche Übergänge zwischen Anwendungszuständen aus hypermedialen Links in den Ressourcenrepräsentationen finden.
  • Schichtensystem: Das System kann mit Zwischenschichten (z.B. Proxys, Caches, Gateways) organisiert werden, durch die Anfragen und Antworten laufen. Der Client weiß nicht, ob er direkt mit dem Endserver oder über Zwischenschichten kommuniziert.
  • Code on Demand (optional): Der Server kann die Funktionalität des Clients vorübergehend erweitern, indem er ausführbaren Code (z.B. JavaScript) überträgt. Dieses Prinzip ist optional für die REST-Konformität.