Server-Sent Events e WebSockets
Impari come i Server-Sent Events forniscano streaming unidirezionale in tempo reale, come si confrontino con WebSockets e long polling e quando scegliere ciascuna tecnologia.
Server-Sent Events e WebSockets è una lezione WebSockets & Real-Time Systems with Spring gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento WebSockets & Real-Time Systems with Spring, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso WebSockets & Real-Time Systems with Spring include 4 lezioni in totale.
Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.
Another Real-Time Option
WebSockets are not the only option. Server-Sent Events (SSE) give a simpler, one-way streaming channel from server to client over plain HTTP.
What Are Server-Sent Events?
SSE pushes a continuous stream of text events to the browser over one long-lived HTTP connection, received via the EventSource API. It is one-way only.
The SSE Wire Format
SSE uses a simple, line-based wire format over the text/event-stream content type — just data: and optional event: fields.
HTTP/1.1 200 OK
Content-Type: text/event-stream
data: First update
event: price
data: {"symbol":"ACME","price":42}
Receiving Events in the Browser
The client subscribes with EventSource, and the browser automatically reconnects if the stream drops — no manual retry logic needed.
const source = new EventSource('/stream');
source.onmessage = function (e) {
console.log('message:', e.data);
};
source.addEventListener('price', function (e) {
console.log('price event:', e.data);
});Built-In Reconnection
SSE has reconnection built in: the server sets the delay with a retry: field, and the client sends Last-Event-ID to resume where it left off.
SSE vs WebSockets
SSE vs WebSockets: SSE is one-way over plain HTTP with auto-reconnect and text only; WebSockets are full-duplex, use their own protocol, and support binary.
SSE vs Long Polling
Versus long polling, SSE keeps one connection open and streams many events, avoiding the cost of reopening a connection for every message.
When to Use SSE
Reach for SSE for one-way feeds: live notifications, activity streams, stock tickers, dashboards, job progress, and live scores.
When to Use WebSockets
Choose WebSockets when the client sends frequently too: chat, multiplayer, collaborative editing. If you only need server-to-client, SSE is simpler.
Limitations of SSE
SSE has limits: text only, no binary; browsers cap connections per domain (eased by HTTP/2); and older environments may lack support.
A Decision Helper
A simple rule of thumb decides most cases — need client-to-server or binary? Pick WebSocket. Otherwise, SSE.
def choose_transport(needs_client_to_server, needs_binary):
if needs_client_to_server or needs_binary:
return 'WebSocket'
return 'Server-Sent Events'
print(choose_transport(False, False)) # notifications
print(choose_transport(True, False)) # chatQuick Check
One feed, one direction, one connection — how well do you know SSE?
Recap
You learned Server-Sent Events: simple one-way streaming over HTTP with auto-reconnect, how they compare to WebSockets and long polling, and when to use each.
Impara WebSockets & Real-Time Systems with Spring con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 12
- Lezioni
- 48
Domande Frequenti
La lezione «Server-Sent Events e WebSockets» è gratuita?
Sì — il testo completo di «Server-Sent Events e WebSockets» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso WebSockets & Real-Time Systems with Spring, passa a CoddyKit PRO. Il corso WebSockets & Real-Time Systems with Spring include 4 lezioni in totale.
Cosa imparerò in «Server-Sent Events e WebSockets»?
Impari come i Server-Sent Events forniscano streaming unidirezionale in tempo reale, come si confrontino con WebSockets e long polling e quando scegliere ciascuna tecnologia. Eserciti WebSockets & Real-Time Systems with Spring con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare WebSockets & Real-Time Systems with Spring?
Non è richiesta alcuna esperienza precedente. WebSockets & Real-Time Systems with Spring su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Server-Sent Events e WebSockets»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione WebSockets & Real-Time Systems with Spring?
Sì. Ogni lezione WebSockets & Real-Time Systems with Spring include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Comprendere la comunicazione in tempo reale
- WebSockets vs. polling HTTP
- Fondamenti del protocollo WebSocket
- Server-Sent Events e WebSockets