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.

  1. Polling et long polling
  2. Server-Sent Events
  3. WebSocket
  4. 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