WebSocket WebSocket

Les WebSockets avec Spring WebFlux ont le même fonctionnement que dans la stack Servlet.

Le protocole WebSocket RFC 6455 (https://tools.ietf.org/html/rfc6455) fournit une manière standardisée d’établir un canal de communication bidirectionnel simultané entre le client et le serveur via une connexion TCP unique. Il s’agit d’un protocole TCP différent de HTTP, mais conçu pour fonctionner sur HTTP, en utilisant les ports 80 et 443 et en permettant la réutilisation des règles de pare-feu existantes.

Une interaction WebSocket commence par une requête HTTP qui utilise l’en-tête Upgrade HTTP pour mettre à niveau la connexion, ou dans ce cas pour passer au protocole WebSocket :

GET /spring-websocket-portfolio/portfolio HTTP/1.1 
Host: localhost:8080 
Upgrade: websocket 
Connection: Upgrade 
Sec-WebSocket-Key: Uc9l9TMkWGbHFD2qnFHltg== 
Sec-WebSocket-Protocol: v10.stomp, v11.stomp 
Sec-WebSocket-Version: 13 
Origin: http://localhost:8080 

Au lieu du code d’état 200 habituel, un serveur avec prise en charge de WebSocket renvoie :

HTTP/1.1 101 Switching Protocols 
Upgrade: websocket 
Connection: Upgrade 
Sec-WebSocket-Accept: 1qVdfYHU9hPOl4JYYNXF623Gzn0= 
Sec-WebSocket-Protocol: v10.stomp 

Après un handshake (une prise de contact) réussi, le socket TCP sous-jacent à la demande de mise à niveau HTTP reste ouvert tant pour le client que pour le serveur...

Pour consulter la suite, découvrez le livre suivant :
couv_EPREAJASP.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Tests sans Spring
Suivant
Introduction