101

Switching Protocols

Offisiell
Overføringsprotokollen endres på forespørsel fra klienten.

Generell forklaring av 101-statuskoden

Forestill deg at du er på en restaurant og vil bestille noe å drikke. Kelneren kommer bort til deg og ber om din bestilling. Du sier: "Jeg vil gjerne ha et glass vann, men hvis du har fersk appelsinjuice, foretrekker jeg det." Her gir du servitøren to alternativer og viser at du er fleksibel. Når en nettleser eller et annet klientverktøy sender en forespørsel til en server, kan klienten foreslå å bytte til en annen kommunikasjonsprotokoll fordi den mener at den andre protokollen er mer effektiv eller bedre egnet. For eksempel kan en klient som opprinnelig brukte en HTTP-tilkobling, foreslå å bytte til WebSockets for å få en alltid åpen tilkobling for sanntidsdata.

Når serveren godtar dette forslaget, svarer den med statuskode 101 Switching Protocols for å fortelle klienten: "Greit! Nå bytter vi protokoll." Fra dette tidspunktet fortsetter kommunikasjonen mellom klient og server via den nye, avtalte protokollen.

Spesifikasjon av HTTP-statuskoden 101

Statuskoden 101 Switching Protocols indikerer at serveren forstår og er villig til å etterkomme klientens forespørsel, via feltet Upgrade header, om en endring i applikasjonsprotokollen som brukes på denne forbindelsen. Serveren MÅ generere et oppgraderingshodefelt i svaret som angir hvilke(n) protokoll(er) som vil bli byttet til umiddelbart etter den tomme linjen som avslutter 101 Switching Protocols-svaret. Det antas at serveren bare vil gå med på å bytte protokoll når det er fordelaktig å gjøre det. For eksempel kan det være fordelaktig å bytte til en nyere versjon av HTTP i forhold til eldre versjoner, og det kan være fordelaktig å bytte til en sanntids, synkron protokoll når man leverer ressurser som bruker slike funksjoner.

Kilde / Sitat fra: 101 Switching Protocols HTTP-statuskoden er spesifisert av seksjon 6.2.2 i RFC7231.

Hvordan kaste en 101-statuskode med PHP?

For å kaste HTTP-statuskoden 101 på en nettside kan PHP-funksjonen http_response_code brukes. Syntaksen er som følger: http_response_code(101) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test 101 HTTP-statuskoden

For å kunne vise HTTP-statuskoden (i dette tilfellet 101 Switching Protocols) og annen informasjon på klientsiden, må utviklingskonsollen åpnes med F12. Naviger deretter til fanen "Nettverk". Nå kan siden åpnes, nettstedet (eksempel index.php) skal være synlig i nettverksfanen. Dette må velges, og deretter må Herder-delen velges. Brukeren vil da se følgende resultat:

Statuskode 101 Switching Protocols
Oversikt
URL: https://http-statuscode.com/errorCodeExample.php?code=101
Status: 101 Switching Protocols
De: Network
IP-adresse: XX.XX.XX.XX
Statuskode 101 Switching Protocols

Nettleserkompatibilitet for 101-statuskoden

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 
Forfatter: Tony Brüser
Forfatter: Tony Brüser

Tony Brüser er en entusiastisk webutvikler med en forkjærlighet for HTTP-statuskoder.

LinkedInGitHub