101

Switching Protocols

Officiell
Överföringsprotokollet ändras på begäran av klienten.

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

Statuskoden 101 Switching Protocols anger att servern förstår och är villig att följa klientens begäran, via huvudfältet Upgrade, om en ändring av det tillämpningsprotokoll som används på den här anslutningen. Servern MÅSTE generera ett Upgrade-huvudfält i svaret som anger vilket eller vilka protokoll som kommer att bytas ut omedelbart efter den tomma rad som avslutar 101 Switching Protocols-svaret. Det antas att servern endast kommer att gå med på att byta protokoll när det är fördelaktigt att göra det. Till exempel kan det vara fördelaktigt att byta till en nyare version av HTTP jämfört med äldre versioner, och att byta till ett synkront protokoll i realtid kan vara fördelaktigt vid leverans av resurser som använder sådana funktioner.

Källa / Citat från: HTTP-statuskoden 101 Switching Protocols anges i avsnitt 6.2.2 i RFC7231.

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:

Statuskod 101 Switching Protocols
Översikt
URL: https://http-statuscode.com/errorCodeExample.php?code=101
Status: 101 Switching Protocols
Dessa: Network
IP-adress: XX.XX.XX.XX
Statuskod 101 Switching Protocols

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 

Underhållande memes om HTTP-statuskoden 101

Författare: Tony Brüser
Författare: Tony Brüser

Tony Brüser är en entusiastisk webbutvecklare med en förkärlek för HTTP-statuskoder.

LinkedInGitHub