Zum Hauptinhalt springen

4.10. Handhabung des Anwendungsstatus

4.10. Handhabung des Anwendungsstatus

Anwendungen, die HTTP verwenden, müssen sorgfältig überlegen, wie sie den Status handhaben. HTTP wird oft als "zustandslos" beschrieben, was bedeutet, dass jede Anfrage unabhängig ist und der Server sich nicht an frühere Anfragen erinnern muss. Viele Anwendungen benötigen jedoch eine Form der Statusverwaltung.

Es gibt mehrere Möglichkeiten, den Status in HTTP-Anwendungen zu handhaben:

  • Client-seitiger Status: Der Client pflegt den Status und schließt ihn in jede Anfrage ein. Dies ist der skalierbarste Ansatz, erfordert jedoch, dass der Client den Status verwaltet.

  • Server-seitiger Status: Der Server pflegt den Status über jeden Client, typischerweise identifiziert durch ein Sitzungstoken. Dies ist bequemer für den Client, aber weniger skalierbar für den Server.

  • Ressourcenstatus: Der Status wird als Ressourcen dargestellt, die mit HTTP-Methoden abgerufen und modifiziert werden können. Dies steht gut im Einklang mit REST-Prinzipien.

Anwendungen SOLLTEN nach Möglichkeit zustandslose Designs bevorzugen, da diese tendenziell skalierbarer und einfacher zu implementieren sind. Wenn Status notwendig ist, SOLLTEN Anwendungen:

  • Klar spezifizieren, wie Status gepflegt und identifiziert wird.

  • Die Verwendung von Cookies [COOKIES] für das Session-Management in Betracht ziehen, sich jedoch ihrer Sicherheits- und Datenschutzimplikationen bewusst sein.

  • Vermeiden, Status auf dem Server zu halten, der vom Client gepflegt werden könnte.

  • Authentifizierungstoken anstelle von Sitzungen verwenden, wo es angemessen ist.

  • Statusverwaltung so gestalten, dass sie mit Zwischenstellen und Caches funktioniert.

Anwendungen SOLLTEN NICHT auf Funktionen wie TCP-Verbindungspersistenz vertrauen, um den Status aufrechtzuerhalten, da Verbindungen geschlossen oder multiplexiert werden können.