101
Switching Protocols
Generel forklaring af 101-statuskoden
Forestil dig, at du er på en restaurant og vil bestille en drink. Tjeneren kommer hen til dig og beder om din bestilling. Du siger: "Jeg vil gerne have et glas vand, men hvis du har frisk appelsinjuice, vil jeg foretrække det." Her giver du dybest set tjeneren to muligheder og lader ham vide, at du er fleksibel. Når en webbrowser eller et andet klientværktøj sender en forespørgsel til en server, kan klienten foreslå at skifte til en anden kommunikationsprotokol, fordi den mener, at denne anden protokol vil være mere effektiv eller bedre egnet. For eksempel kan en klient, der oprindeligt brugte en HTTP-forbindelse, foreslå at skifte til WebSockets for at give en altid åben forbindelse til realtidsdata.
Når serveren accepterer dette forslag, svarer den med statuskode 101 Switching Protocols for at fortælle klienten: "Okay! Lad os skifte protokol." Fra dette tidspunkt fortsætter kommunikationen mellem klient og server via den nye, aftalte protokol.
Specifikation af HTTP-statuskode 101
Kilde / citat fra: HTTP-statuskoden 101 Switching Protocols er specificeret i afsnit 6.2.2 i RFC7231.
HTTP-protokol
Hvordan får man en 101-statuskode med PHP?
Hvis du vil have HTTP-statuskoden 101 på en webside, kan du bruge PHP-funktionen http_response_code. Syntaksen er som følger: http_response_code(101) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Test 101 HTTP-statuskoden
For at kunne vise HTTP-statuskoden (i dette tilfælde 101 Switching Protocols) og andre oplysninger på klientsiden skal udviklingskonsollen åbnes med F12. Naviger derefter til fanen "Network" (netværk). Nu kan siden åbnes, hjemmesiden (eksempel index.php) skal være synlig i fanen netværk. Denne skal vælges, og derefter skal Herder-sektionen vælges. Brugeren vil derefter se følgende resultat:
URL: https://http-statuscode.com/errorCodeExample.php?code=101
Status: 101 Switching Protocols
Disse: Network
IP-adresse: XX.XX.XX.XX
Browserkompatibilitet 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 programmeringssprog
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