101

Switching Protocols

Officieel
Het transmissieprotocol wordt gewijzigd op verzoek van de cliënt

Algemene uitleg van de 101-statuscode

Stel je voor dat je in een restaurant bent en een drankje wilt bestellen. De ober komt naar je toe en vraagt om je bestelling. Je zegt: "Ik wil graag een glas water, maar als je verse jus d'orange hebt, heb ik dat liever." In feite geef je de ober twee opties en laat je hem weten dat je flexibel bent.

Wanneer een webbrowser of ander clientprogramma een verzoek naar een server stuurt, kan de client voorstellen om over te schakelen op een ander communicatieprotocol omdat hij denkt dat dit andere protocol efficiënter of beter geschikt is. Een client die oorspronkelijk een HTTP-verbinding gebruikte, kan bijvoorbeeld voorstellen om over te schakelen op WebSockets om een altijd open verbinding voor real-time gegevens te bieden.

Wanneer de server deze suggestie accepteert, antwoordt deze met statuscode 101 Switching Protocols om de client te vertellen, "Oké! Laten we van protocol wisselen. Vanaf dat moment gaat de communicatie tussen client en server verder via het nieuwe, afgesproken protocol.

Specificatie van de HTTP-statuscode 101

De 101 Switching Protocols-statuscode geeft aan dat de server het verzoek van de client, via het Upgrade-headerveld, voor een wijziging in het toepassingsprotocol dat op deze verbinding wordt gebruikt, begrijpt en bereid is in te willigen. De server MOET in het antwoord een Upgrade-headerveld genereren dat onmiddellijk na de lege regel waarmee het 101 Switching Protocols-antwoord wordt afgesloten, aangeeft naar welk protocol of welke protocollen wordt overgeschakeld. Aangenomen wordt dat de server er alleen mee instemt om van protocol te wisselen wanneer dat voordelig is. Overschakelen naar een nieuwere versie van HTTP kan bijvoorbeeld voordelig zijn ten opzichte van oudere versies, en overschakelen naar een realtime, synchroon protocol kan voordelig zijn bij het leveren van bronnen die dergelijke functies gebruiken.

Bron / Citaat van: De 101 Switching Protocols HTTP-statuscode wordt gespecificeerd door sectie 6.2.2 van RFC7231.

Hoe gooi je een 101-statuscode met PHP?

Om de HTTP-statuscode 101 op een webpagina te gooien, kan de PHP-functie http_response_code worden gebruikt. De syntaxis is als volgt: http_response_code(101) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test de HTTP-statuscode 101

Om de HTTP-statuscode (in dit geval 101 Switching Protocols) en andere informatie aan de clientzijde te kunnen weergeven, moet de ontwikkelconsole worden geopend met F12. Navigeer vervolgens naar het tabblad "Netwerk". Nu kan de pagina worden geopend, de website (voorbeeld index.php) moet zichtbaar zijn in het netwerk tabblad. Deze moet worden geselecteerd en vervolgens moet het onderdeel Herder worden geselecteerd. De gebruiker ziet dan het volgende resultaat:

Statuscode 101 Switching Protocols
Overzicht
URL: https://http-statuscode.com/errorCodeExample.php?code=101
Status: 101 Switching Protocols
Die: Network
IP-adres: XX.XX.XX.XX
Statuscode 101 Switching Protocols

Browsercompatibiliteit van de 101-statuscode

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

Constanten in programmeertalen

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 

Vermakelijke memes over de HTTP-statuscode 101

Auteur: Tony Brüser
Auteur: Tony Brüser

Tony Brüser is een enthousiaste webontwikkelaar met een voorliefde voor HTTP-statuscodes.

LinkedInGitHub