Comment tester un point de terminaison WebSocket depuis le navigateur

Saisissez une adresse ws:// ou wss://, cliquez sur Connecter le WebSocket, et le journal ci-dessous montre chaque étape : l’adresse ouverte, le moment où la connexion est prête, tout ce que vous envoyez et chaque trame renvoyée par le serveur. Le navigateur se connecte depuis votre appareil directement à ce point de terminaison ; kivtools.com n’est que la page affichée.

Le bouton Exemple remplit le champ avec wss://echo.websocket.org, un service d’écho public qui renvoie chaque message tel quel : tout l’aller-retour est vérifiable sans serveur personnel.

  1. Collez l’adresse du point de terminaison. Elle doit commencer par ws:// ou wss:// ; une adresse http:// ou https:// est convertie automatiquement, et une adresse sans schéma est refusée avec un message au lieu d’être résolue silencieusement contre cette page.
  2. Cliquez sur Connecter le WebSocket. Cette page est servie en HTTPS : le navigateur n’autorise donc ws:// en clair que vers localhost ou 127.0.0.1 ; les serveurs distants exigent wss://. Un échec de handshake est signalé avec son code de fermeture.
  3. Saisissez un message puis cliquez sur Envoyer un message, ou appuyez sur Entrée dans le champ. Les horodatages indiquent le départ et l’arrivée de la réponse. Déconnecter ferme le socket ; Effacer vide l’adresse, le message et le journal sans toucher à la connexion.

Ce que dit le journal

Codes de fermeture et connexions refusées

Une fermeture normale indique le code 1000. Le code 1006 signifie que le handshake n’a jamais abouti : port fermé, hôte injoignable, certificat TLS refusé ou origine du navigateur refusée par le serveur. Le journal affiche ce code au lieu de laisser une ligne d’erreur vide.

Les navigateurs n’exposent pas la raison d’un handshake échoué : le code reste donc le signal le plus précis que la page puisse obtenir. Pour un serveur local, vérifiez qu’il écoute bien sur le port saisi.

Origine, wss:// et localhost

Les connexions WebSocket ne relèvent pas du CORS, mais un serveur peut examiner l’en-tête Origin, et cette page envoie https://kivtools.com. Un serveur appliquant une liste d’origines refuse le handshake et le navigateur signale alors le code 1006.

Comme la page elle-même est en HTTPS, ws:// en clair n’est accepté que vers localhost et 127.0.0.1. Tout le reste doit passer par wss:// ; sinon le navigateur bloque la connexion avant qu’elle commence et la page le signale.

Ce que le journal montre exactement

Les trames sont affichées en texte échappé : si un serveur renvoie du HTML, les balises apparaissent littéralement au lieu d’être rendues dans la page, et il en va de même pour les messages envoyés.

Le journal est une transcription continue, pas un terminal : il affiche les trames texte, ne conserve rien après un rechargement et Effacer le vide.

Outils récents :