101
Switching Protocols
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
Source / Citation de : Le code d'état HTTP 101 Switching Protocols est spécifié par la section 6.2.2 de RFC7231.
Protocole HTTP
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 :
URL: https://http-statuscode.com/errorCodeExample.php?code=101
Statut: 101 Switching Protocols
Ceux-ci: Network
Adresse IP: XX.XX.XX.XX
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