[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/API/WebSockets_API [Back]  [Original]

L'API WebSocket (WebSockets) - Les API Web | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

L'API WebSocket (WebSockets)

Note : Cette fonctionnalit est disponible via les Web Workers.

L'API WebSocket permet d'ouvrir une session de communication interactive bidirectionnelle entre le navigateur de l'utilisateurice et un serveur. Avec cette API, vous pouvez envoyer des messages un serveur et recevoir des rponses sans avoir interroger priodiquement le serveur.

L'API WebSocket propose deux mcanismes alternatifs pour crer et utiliser des connexions web socket : l'interface WebSocket et l'interface WebSocketStream.

  • L'interface WebSocket est stable et bnficie d'un bon support ct navigateurs et serveurs. Cependant, elle ne prend pas en charge la rtropression. En consquence, lorsque des messages arrivent plus rapidement que l'application ne peut les traiter, cela peut soit remplir la mmoire de l'appareil en stockant ces messages en mmoire tampon, soit rendre l'application non ractive en raison d'une utilisation CPU 100 %, soit les deux.
  • L'interface WebSocketStream est une alternative base sur Promise WebSocket. Elle utilise l'API Streams pour grer la rception et l'envoi de messages, ce qui permet aux connexions de tirer automatiquement parti de la rtropression des flux en rgulant la vitesse de lecture ou d'criture afin d'viter les goulets d'tranglement dans l'application. Toutefois, WebSocketStream n'est pas standard et n'est actuellement prise en charge que par un seul moteur de rendu.

Par ailleurs, l'API WebTransport devrait remplacer l'API WebSocket pour de nombreuses applications. WebTransport est une API bas niveau polyvalente qui fournit la rtropression et de nombreuses autres fonctionnalits non prises en charge ni par WebSocket ni par WebSocketStream, telles que les flux unidirectionnels, la livraison hors ordre et la transmission de donnes non fiable via des datagrammes. WebTransport est plus complexe utiliser que WebSockets et son support inter-navigateurs est moins tendu, mais il permet la mise en uvre de solutions sophistiques. Si les connexions WebSocket standard conviennent votre cas d'utilisation et que vous avez besoin d'une large compatibilit entre navigateurs, vous devriez utiliser l'API WebSocket pour dmarrer rapidement. En revanche, si votre application ncessite une solution personnalise non standard, vous devriez utiliser l'API WebTransport.

Note : Si une page possde une connexion WebSocket ouverte, le navigateur peut ne pas l'ajouter au bfcache. Il est donc recommand de fermer la connexion lorsque l'utilisateurice a termin avec la page. Voir Travailler avec le bfcache.

Dans cet article

Interfaces

WebSocket

Interface principale pour se connecter un serveur WebSocket, puis envoyer et recevoir des donnes sur la connexion.

WebSocketStream

Interface base sur des promesses pour se connecter un serveur WebSocket ; utilise l'API Streams pour envoyer et recevoir des donnes sur la connexion.

CloseEvent

vnement envoy par l'objet WebSocket lorsque la connexion se ferme.

MessageEvent

vnement envoy par l'objet WebSocket lorsqu'un message est reu du serveur.

En-ttes HTTP associs

Les en-ttes HTTP sont utiliss dans la [poigne de main WebSocket](/fr/docs/Web/API/WebSocketsAPI/Writing_WebSocket_servers#la _poigne_de_mains_du_websocket) :

Sec-WebSocket-Key

Un en-tte de requte HTTP qui contient un nombre unique envoy par le client. Il est utilis dans la [poigne d'ouverture WebSocket](/fr/docs/Web/API/WebSocketsAPI/Writing_WebSocket_servers#la _poigne_de_mains_du_websocket) pour vrifier que le client a l'intention explicite d'ouvrir une connexion WebSocket. Il est ajout automatiquement par le navigateur.

Sec-WebSocket-Accept

Un entte de rponse HTTP utilis dans la poigne d'ouverture WebSocket pour indiquer que le serveur accepte de passer en WebSocket. La valeur de cette directive est calcule partir de la valeur de Sec-WebSocket-Key dans la requte correspondante.

Sec-WebSocket-Version

Un en-tte HTTP qui, dans les requtes, indique la version du protocole WebSocket comprise par le client. Dans les rponses, il n'est envoy que si la version demande n'est pas prise en charge par le serveur, et il liste les versions prises en charge par le serveur.

Sec-WebSocket-Protocol

Un en-tte HTTP qui, dans les requtes, indique les sous-protocoles pris en charge par le client, par ordre de prfrence. Dans les rponses, il indique le sous-protocole slectionn par le serveur parmi les prfrences du client.

Sec-WebSocket-Extensions

Un en-tte HTTP qui, dans les requtes, indique les extensions WebSocket prises en charge par le client, par ordre de prfrence. Dans les rponses, il indique l'extension slectionne par le serveur parmi les prfrences du client.

Guides

Outils

Spcifications

Spcification
WebSockets
# the-websocket-interface

Compatibilit des navigateurs

api.WebSocket

api.WebSocketStream

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page