101
Switching Protocols
Allmän förklaring av statuskoden 101
Tänk dig att du är på en restaurang och vill beställa en drink. Servitören kommer fram till dig och ber om din beställning. Du säger: "Jag skulle vilja ha ett glas vatten, men om du har färsk apelsinjuice så föredrar jag det." Här ger du i princip servitören två alternativ och låter honom veta att du är flexibel. Begäran om att byta protokoll fungerar på liknande sätt.
När en webbläsare eller ett annat klientverktyg skickar en begäran till en server kan klienten föreslå att byta till ett annat kommunikationsprotokoll eftersom den tror att detta andra protokoll skulle vara mer effektivt eller bättre lämpat. Till exempel kan en klient som ursprungligen använde en HTTP-anslutning föreslå att man byter till WebSockets för att tillhandahålla en alltid öppen anslutning för realtidsdata.
När servern accepterar detta förslag svarar den med statuskod 101 Switching Protocols för att tala om för klienten: "Okej! Nu byter vi protokoll." Från och med nu fortsätter kommunikationen mellan klienten och servern via det nya, överenskomna protokollet.
Specifikation av HTTP-statuskoden 101
Källa / Citat från: HTTP-statuskoden 101 Switching Protocols anges i avsnitt 6.2.2 i RFC7231.
HTTP-protokoll
Hur skickar man en 101-statuskod med PHP?
För att kasta HTTP-statuskoden 101 på en webbsida kan PHP-funktionen http_response_code användas. Syntaxen är följande: http_response_code(101) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testa HTTP-statuskoden 101
För att kunna visa HTTP-statuskoden (i det här fallet 101 Switching Protocols) och annan information på klientsidan måste utvecklingskonsolen öppnas med F12. Navigera sedan till fliken "Network" (nätverk). Nu kan sidan öppnas, webbplatsen (exempel index.php) ska vara synlig i fliken nätverk. Denna måste väljas och sedan måste avsnittet Herder väljas. Användaren kommer då att se följande resultat:
URL: https://http-statuscode.com/errorCodeExample.php?code=101
Status: 101 Switching Protocols
Dessa: Network
IP-adress: XX.XX.XX.XX
Webbläsarnas kompatibilitet med statuskoden 101
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 |
Konstanter i programmeringsspråk
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