101

Switching Protocols

Officiellement,
Le protocole de transmission est modifié à la demande du client.

Explication générale du code d'état 101

Imaginez que vous êtes dans un restaurant et que vous souhaitez commander une boisson. Le serveur s'approche de vous et vous demande ce que vous avez commandé. Vous répondez : "Je voudrais un verre d'eau, mais si vous avez du jus d'orange frais, je préférerais". Ici, vous donnez essentiellement deux options au serveur et vous lui faites savoir que vous êtes flexible. La demande de changement de protocole fonctionne de manière similaire.

Lorsqu'un navigateur web ou un autre outil client envoie une requête à un serveur, il peut arriver que le client propose de passer à un autre protocole de communication parce qu'il pense que cet autre protocole serait plus efficace ou mieux adapté. Par exemple, un client utilisant initialement une connexion HTTP pourrait proposer de passer aux WebSockets afin de permettre une connexion constamment ouverte pour les données en temps réel.

Si le serveur accepte cette proposition, il répond par le code d'état 101 Switching Protocols pour dire au client : "Très bien ! Changeons de protocole". A partir de ce moment, la communication entre le client et le serveur se poursuit via le nouveau protocole convenu.

Spécification du code d'état HTTP 101

Le code d'état 101 Switching Protocols indique que le serveur comprend et est prêt à répondre à la demande du client, via le champ d'en-tête Upgrade, de changer le protocole d'application utilisé sur cette connexion. Le serveur DOIT générer un champ d'en-tête Upgrade dans la réponse qui indique le(s) protocole(s) à changer immédiatement après la ligne vide qui termine la réponse 101 Switching Protocols. On suppose que le serveur n'acceptera de changer de protocole que si cela est avantageux. Par exemple, le passage à une version plus récente de HTTP peut être avantageux par rapport à des versions plus anciennes, et le passage à un protocole synchrone en temps réel peut être avantageux lors de la fourniture de ressources qui utilisent de telles caractéristiques.

Source / Citation de : Le code d'état HTTP 101 Switching Protocols est spécifié par la section 6.2.2 de RFC7231.

Comment lancer un code d'état 101 avec PHP ?

Pour lancer le code d'état HTTP 101 sur une page web, on peut utiliser la fonction PHP http_response_code. La syntaxe est la suivante : http_response_code(101) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste le code d'état HTTP 101

Pour pouvoir afficher le code de statut HTTP (dans ce cas 101 Switching Protocols) et d'autres informations côté client, il faut ouvrir la console de développement avec F12. Ensuite, il faut naviguer vers l'onglet "Réseau". La page peut maintenant être ouverte, la page web (exemple index.php) doit être visible dans l'onglet réseau. Il faut la sélectionner et choisir ensuite le domaine Herder. L'utilisateur voit alors le résultat suivant :

Code d'état 101 Switching Protocols
Aperçu
URL: https://http-statuscode.com/errorCodeExample.php?code=101
Statut: 101 Switching Protocols
Ceux-ci: Network
Adresse IP: XX.XX.XX.XX
Code d'état 101 Switching Protocols

Compatibilité du navigateur avec le code d'état 101

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

Les constantes dans les langages de programmation

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

Tony Brüser est un développeur web enthousiaste avec une prédilection pour les codes de statut HTTP.

LinkedInGitHub