101

Switching Protocols

Offiziell
Das Übertragungsprotokoll wird auf Wunsch des Kunden geändert

Allgemeine Erklärung des 101-Statuscodes

Stellen Sie sich vor, Sie sind in einem Restaurant und möchten ein Getränk bestellen. Der Kellner kommt zu Ihnen und fragt nach Ihrer Bestellung. Sie sagen: "Ich hätte gerne ein Glas Wasser, aber wenn Sie frischen Orangensaft haben, würde ich das bevorzugen." Hier geben Sie dem Kellner im Grunde zwei Optionen und lassen ihn wissen, dass Sie flexibel sind. Die Anforderung, das Protokoll zu wechseln, funktioniert ähnlich.

Wenn ein Webbrowser oder ein anderes Client-Tool eine Anfrage an einen Server sendet, kann es vorkommen, dass der Client vorschlägt, zu einem anderen Kommunikationsprotokoll zu wechseln, weil er glaubt, dass dieses andere Protokoll effizienter oder besser geeignet wäre. Zum Beispiel könnte ein Client, der ursprünglich eine HTTP-Verbindung verwendet, vorschlagen, zu WebSockets zu wechseln, um eine ständig offene Verbindung für Echtzeitdaten zu ermöglichen.

Wenn der Server diesen Vorschlag akzeptiert, antwortet er mit dem Statuscode 101 Switching Protocols, um dem Client mitzuteilen: "Alles klar! Lass uns das Protokoll wechseln." Von diesem Punkt an wird die Kommunikation zwischen Client und Server über das neue, vereinbarte Protokoll fortgesetzt.

Spezifikation von dem HTTP statuscode 101

Der Statuscode 101 Switching Protocols zeigt an, dass der Server die über das Upgrade-Header-Feld gestellte Anfrage des Clients nach einem Wechsel des für diese Verbindung verwendeten Anwendungsprotokolls verstanden hat und bereit ist, ihr nachzukommen. Der Server MUSS in der Antwort ein Upgrade-Header-Feld erzeugen, das angibt, zu welchem Protokoll bzw. zu welchen Protokollen unmittelbar nach der Leerzeile, die die 101 Switching Protocols-Antwort abschließt, gewechselt wird. Es wird davon ausgegangen, dass der Server einem Wechsel der Protokolle nur zustimmt, wenn dies von Vorteil ist. So kann beispielsweise die Umstellung auf eine neuere Version von HTTP gegenüber älteren Versionen von Vorteil sein, und die Umstellung auf ein Echtzeit- und Synchronprotokoll kann bei der Bereitstellung von Ressourcen, die solche Funktionen nutzen, von Vorteil sein.

Quelle / Zitat von: Spezifiziert wird der 101 Switching Protocols HTTP Status Code durch Abschnitt 6.2.2 von RFC7231

Wie kann man mit PHP einen 101-Statuscode werfen?

Um auf einer Webseite den HTTP Status Code 101 zu werfen, kann die PHP Funktion http_response_code benutzt werden. Die Syntax sieht wie folgt aus: http_response_code(101) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste den 101 HTTP Status Code

Um die HTTP Status Code (in diesem Fall 101 Switching Protocols) und weitere Informationen clientseitig anzeigen zu können, muss die Entwicklungskonsole mit F12 geöffnet werden. Im Anschluss muss zu der Karteikarte "Netzwerk" navigiert werden. Jetzt kann die Seite geöffnet werden, im Netzwerktab sollte die Webseite (Beispiel index.php) zu sehen sein. Diese muss ausgewählt werden und im Anschluss der Bereich Herder gewählt werden. Hier sieht der Nutzer dann folgendes Ergebnis:

Statuscode 101 Switching Protocols
Überblick
URL: https://http-statuscode.com/errorCodeExample.php?code=101
Status: 101 Switching Protocols
Diese: Network
IP-Adresse: XX.XX.XX.XX
Statuscode 101 Switching Protocols

Browser-Kompatibilität des 101 Statuscode

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Konstanten in Programmiersprachen

HttpStatusCode.SwitchingProtocols
http.StatusSwitchingProtocols
Response::HTTP_SWITCHING_PROTOCOLS
httplib.SWITCHING_PROTOCOLS
http.client.SWITCHING_PROTOCOLS
http.HTTPStatus.SWITCHING_PROTOCOLS
:switching_protocols
HttpServletResponse.SC_SWITCHING_PROTOCOLS 
Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser ist ein begeisterter Webentwickler mit einer Vorliebe für HTTP Statuscodes.

LinkedInGitHub