Server-Sent Events (SSE)

8 min read intermediate
Server-Sent Events (SSE)

Cosa sono i Server-Sent Events (SSE)?

Server-Sent Events (SSE) è una tecnologia web che consente ai server di inviare aggiornamenti in tempo reale ai client tramite HTTP. A differenza dei WebSocket, SSE è unidirezionale, il che significa che i dati fluiscono solo dal server al client.

Come Funziona

Il client stabilisce una connessione persistente utilizzando l'API EventSource:

javascript
const eventSource = new EventSource('/events');
eventSource.onmessage = (event) => {
  console.log(event.data);
};

Il server mantiene aperta la connessione e invia eventi in questo formato:

data: {"message": "Aggiornamento"}

Caratteristiche Principali

  • Riconnessione automatica
  • Supporto tipi di eventi
  • Supporto nativo del browser
  • Funziona su HTTP/HTTPS
  • Più semplice dei WebSocket
  • Gestione errori integrata

Casi d'Uso

  • Aggiornamenti feed in diretta
  • Aggiornamenti di stato
  • Notifiche in tempo reale
  • Indicatori di progresso
  • Ticker azionari

Supporto Browser

SSE è supportato in tutti i browser moderni, con polyfill disponibili per quelli più vecchi.

Limitazioni

  • Numero massimo di connessioni contemporanee
  • Solo comunicazione unidirezionale
  • Potenziali problemi con i proxy

Migliori Pratiche

  • Includere meccanismo di retry
  • Gestire errori di connessione
  • Monitorare stato connessione
  • Pulizia allo scaricamento della pagina