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