101
Switching Protocols
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
Kilde / Sitat fra: 101 Switching Protocols HTTP-statuskoden er spesifisert av seksjon 6.2.2 i RFC7231.
HTTP-protokoll
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:
URL: https://http-statuscode.com/errorCodeExample.php?code=101
Status: 101 Switching Protocols
De: Network
IP-adresse: XX.XX.XX.XX
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