Was sind 100er Statuscodes?
Da die Kommunikation zwischen Server und Client stattfindet, ist hier ein Informationsaustausch notwendig. Mit den 100er Statuscodes wird dem Client vom Server mitgeteilt, dass die Anfrage noch andauert. Was das bringt?
Das verhilft den beiden zu wissen, dass die Kommunikation nicht unterbrochen ist, sondern weiterhin besteht. Sie können also weiterhin miteinander kommunizieren. Je nach Statuscode wissen sie dann, was überhaupt passiert.
Aus diesem Grund sind die verschiedenen Statuscodes wichtig, damit der Server und der Client wissen, was als nächstes zu tun ist und die Verbindung nicht unterbrechen.
100 continue
Bei dem Statuscode 100 gibt der Server die Meldung zurück, dass die laufende Anfrage, welche an den Server gestellt wurde, noch nicht zurückgewiesen wurde und damit noch andauert. Damit kann der Client mit der Anfrage fortfahren. Oft wird dies auch im Zusammenhang mit „Expect 100-continue“ im Header-Feld verwendet.
Damit weiß der Client, dass die Verbindung weiterhin besteht und die Antwort noch etwas dauern kann. Dies ist Übertragungen oder anderen Verbindungen notwendig, welche etwas länger dauern können. Wenn du den Status Code “100 continue” erhältst, weißt du, dass die Verbindung noch steht.
101 switching protocols
Der Statuscode 101 switching protocols wird meist dann verwendet, wenn der Server eine Anfrage mit dem gesetzten „Upgrade“ Header-Feld erhalten hat und zudem noch mit dem Wechsel zu einem anderen Protokoll einverstanden ist. Beispiel hierfür wäre unter anderem, wenn von http zu WebSocket gewechselt werden soll.
Das ist vor allem dann wichtig, wenn von einer z. B. unverschlüsselten zu einer verschlüsselten Kommunikation gewechselt wird und natürlich bei einigen anderen Protokollen und Möglichkeiten. Das kann dir bei der Übertragung der Daten helfen oder allgemein, wenn du von einem Protokoll zu einem anderen wechseln musst.
So kannst du einen Wechsel des Protokolls vornehmen und auf den Status Code “101 switching protocols” warten. Wenn dieser Status Code kommt, weißt du, dass das Protokoll gewechselt wurde und die Übertragung nun z. B. verschlüsselt verläuft.
102 processing
Soll ein timeout vermieden werden, dann wird in der Regel der Statuscode 102 processing verwendet. Die Verwendung dieses Statuscodes geht meist mit der Bearbeitung einer zeitintensiven Anfrage einher.
Auch das ist ein Statuscode, welcher den beiden signalisiert, dass die Anfrage noch andauert und somit noch etwas gewartet wird, anstatt die Verbindung zu kappen. Sehr hilfreich, wenn hier zeitintensive Anfragen verarbeitet werden, die etwas länger dauern als normal.
Wenn du diese Information bekommst, weißt du, dass du die Anfrage später noch einmal stellen solltest. Das ist vor allem dann notwendig und hilfreich, wenn du mit Schnittstellen arbeitest und programmierst. Du kannst den Status Code abfragen und wenn du “102 processing” erhältst, dann weitß du, dass die Verarbeitung noch nicht abgeschlossen wurde.
Weitere Status Codes
Neben diesen 100er Status Codes gibt es noch weitere Status Codes. So gibt es unter anderem noch die
Allesamt haben eine bestimmte Aufgabe, sodass du anhand dieser Status Codes sehen kannst, was der Server, bzw. Browser, Datenbank etc. benötigt, bzw. wie es aktuell mit der Verbindung und Verarbeitung steht. Anhand dieser Informationen kannst du sehen, wo du evtl. etwas verändern musst, damit alles wieder funktioniert.
Es gibt einiges Codes, welche als Platzhalter für spätere fungieren sollen. Bei den 100er Codes jedoch nicht. Mit der Zeit können welche hinzukommen, was allerdings selten ist, da diese genormt werden müssten. Außerdem müssten auch die Browser und deren Verständnis zu den neuen Codes geändert werden.
Die bereits vorhandenen und definierten Codes sind vor langer Zeit, als der Browser von Tim Berners Lee entwickelt worden, mit der Standardisierungskommission definiert worden. Das World Wide Web Consortium (kurz W3C) ist das Gremium zur Standardisierung verschiedener Aspekte, wenn es um das Internet und der dazugehörigen Aspekte geht.