Le temps réel : WebSocket, SSE et polling
Pousser l'information au navigateur : polling, long polling, Server-Sent Events et WebSocket, ce qu'ils coûtent et comment les faire tenir à grande échelle.
- 41 cartes
- 4 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Polling et long polling
- Server-Sent Events
- WebSocket
- Tenir à grande échelle
Quelques cartes du deck
Qu'est-ce que le polling ?
Voir la réponse
Le client redemande à intervalle régulier s'il y a du nouveau.
Simple, mais il gaspille des requêtes et retarde l'information jusqu'à la prochaine demande.
Un tableau de bord affiche des cours en direct ; le navigateur n'envoie rien. Le choix le plus simple et robuste ?
- Un e-mail par mise à jour
- Des Server-Sent Events
- Une WebSocket
- Du polling chaque seconde
Voir la réponse
Des Server-Sent Events
Le flux ne va que du serveur au client : SSE suffit, en HTTP simple, avec la reconnexion intégrée.
SSE ou WebSocket ?
Voir la réponse
SSE : du HTTP simple, reconnexion intégrée, mais seulement du serveur vers le client, en texte. WebSocket : bidirectionnel et binaire, mais la reconnexion et les battements de cœur sont à faire soi-même.
SSE passe aussi par HTTP/2, où plusieurs flux partagent une connexion ; en HTTP/1.1, les navigateurs le limitent à environ 6 flux par domaine.
Ouvrir une WebSocket : après « GET avec Upgrade: websocket et Sec-WebSocket-Key », quel est le message suivant ?
- 101 Switching Protocols avec Sec-WebSocket-Accept
- Message texte du navigateur
- Message poussé par le serveur
- Ping
Voir la réponse
101 Switching Protocols avec Sec-WebSocket-Accept
Le serveur accepte : la même connexion TCP devient une WebSocket. → WebSocket ouverte