101

Switching Protocols

Officiel
Overførselsprotokollen ændres efter anmodning fra klienten

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

Statuskoden 101 Switching Protocols angiver, at serveren forstår og er villig til at efterkomme klientens anmodning via Upgrade-headerfeltet om en ændring af den applikationsprotokol, der anvendes på denne forbindelse. Serveren SKAL generere et Upgrade-headerfelt i svaret, der angiver, hvilken protokol(er) der vil blive skiftet til umiddelbart efter den tomme linje, der afslutter 101 Switching Protocols-svaret. Det antages, at serveren kun vil acceptere at skifte protokol, når det er fordelagtigt at gøre det. Det kan f.eks. være en fordel at skifte til en nyere version af HTTP i forhold til ældre versioner, og det kan være en fordel at skifte til en synkron protokol i realtid, når der leveres ressourcer, der anvender sådanne funktioner.

Kilde / citat fra: HTTP-statuskoden 101 Switching Protocols er specificeret i afsnit 6.2.2 i RFC7231.

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:

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

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

Tony Brüser er en entusiastisk webudvikler med en forkærlighed for HTTP-statuskoder.

LinkedInGitHub