Zustandsloses Protokoll - Stateless protocol

Ein zustandsloses Protokoll ist ein Kommunikationsprotokoll, bei dem der Empfänger den Sitzungsstatus von vorherigen Anforderungen nicht beibehalten darf . Der Sender überträgt den relevanten Sitzungszustand so an den Empfänger, dass jede Anfrage isoliert verstanden werden kann, das heißt ohne Bezug auf den Sitzungszustand früherer Anfragen, die beim Empfänger zurückbehalten wurden.

Im Gegensatz dazu ist ein zustandsbehaftetes Protokoll ein Kommunikationsprotokoll, bei dem der Empfänger den Sitzungszustand von vorherigen Anforderungen beibehalten kann.

In Computernetzwerken umfassen Beispiele für zustandslose Protokolle das Internet Protocol (IP), das die Grundlage für das Internet bildet , und das Hypertext Transfer Protocol (HTTP), das die Grundlage des World Wide Web bildet . Beispiele für zustandsbehaftete Protokolle sind das Transmission Control Protocol (TCP) und das File Transfer Protocol (FTP).

Zustandslose Protokolle verbessern die Eigenschaften der Sichtbarkeit, Zuverlässigkeit und Skalierbarkeit. Die Sichtbarkeit wird verbessert, da ein Überwachungssystem nicht über eine einzelne Anfrage hinausschauen muss, um seine vollständige Natur zu bestimmen. Die Zuverlässigkeit wird verbessert, da die Wiederherstellung nach Teilausfällen erleichtert wird. Die Skalierbarkeit wird verbessert, da das Speichern des Sitzungsstatus zwischen den Anforderungen dem Server ermöglicht , Ressourcen schnell freizugeben und die Implementierung weiter vereinfacht.

Der Nachteil von zustandslosen Protokollen besteht darin, dass sie die Netzwerkleistung verringern können, indem sie die sich wiederholenden Daten erhöhen, die in einer Reihe von Anforderungen gesendet werden, da diese Daten nicht auf dem Server belassen und wiederverwendet werden können.

Beispiele

Ein HTTP- Server kann jede Anfrage isoliert verstehen.

Vergleichen Sie dies mit einem herkömmlichen FTP- Server, der eine interaktive Sitzung mit dem Benutzer durchführt. Während der Sitzung wird einem Benutzer ein Mittel zur Verfügung gestellt, um sich zu authentifizieren und verschiedene Variablen (Arbeitsverzeichnis, Übertragungsmodus) einzustellen, die alle als Teil des Sitzungsstatus auf dem Server gespeichert sind.

Stapeln von zustandslosen und zustandsbehafteten Protokollschichten

Es kann komplexe Interaktionen zwischen zustandsbehafteten und zustandslosen Protokollen zwischen verschiedenen Protokollschichten geben. Zum Beispiel wird HTTP, ein zustandsloses Protokoll, über TCP geschichtet , ein zustandsbehaftetes Protokoll, das über IP geschichtet wird , ein weiteres zustandsloses Protokoll, das in einem Netzwerk geroutet wird, das BGP verwendet , ein weiteres zustandsbehaftetes Protokoll, um die IP zu leiten Pakete, die im Netzwerk unterwegs sind.

Diese Stapelung von Schichten setzt sich sogar über HTTP fort. Als Problemumgehung für das Fehlen eines beibehaltenen Sitzungsstatus implementieren HTTP-Server verschiedene Sitzungsverwaltungsmethoden , die normalerweise eine Sitzungskennung in einem HTTP-Cookie verwenden, das auf einen auf dem Server gespeicherten Sitzungsstatus verweist, wodurch effektiv ein zustandsbehaftetes Protokoll über HTTP erstellt wird. HTTP-Cookies verletzen den REST- Architekturstil, da sie auch ohne Verweis auf einen auf dem Server gespeicherten Sitzungsstatus unabhängig vom Sitzungsstatus sind (sie betreffen vorherige Seiten derselben Website im Browserverlauf) und keine definierte Semantik haben.

Siehe auch

Verweise