Server-Sent Events (SSE)

Advanced Ecosystem 🟡 Mid

Definition

Protocole HTTP unidirectionnel serveur vers client pour le streaming d'événements. Plus simple que WebSocket quand la communication bidirectionnelle n'est pas nécessaire.

Analogie

Une radio FM : le serveur diffuse et les clients écoutent, sans pouvoir répondre par le même canal.

Exemple de code

// Server (Node.js)
res.setHeader('Content-Type', 'text/event-stream');
res.setHeader('Cache-Control', 'no-cache');
setInterval(() => {
  res.write(`data: ${JSON.stringify(getUpdate())}\n\n`);
}, 1000);

Cas d'usage

Notifications serveur, flux d'actualités, suivi de progression d'un traitement long.

Anti-pattern

Utiliser SSE quand le client doit aussi envoyer fréquemment des données au serveur.

Termes lies

#real-time#networking