Last Updated: February 3, 2026
Lets say you are building a dashboard that displays live stock prices. Every second, prices change, and users expect to see updates without refreshing the page. The data flows one direction: from your servers to the browser. Users watch the numbers tick, but they do not send stock prices back.
This is a common pattern. Live sports scores, build pipeline status, social media feeds, breaking news alerts. Data streams from server to client, and the client just listens.
WebSockets can handle this, but they feel like overkill. You do not need bidirectional communication. You do not want to manage a custom protocol. You just want the server to push updates to the browser.
Server-Sent Events (SSE) is designed exactly for this scenario. It provides a simple, standardized way for servers to push data to browsers over a single HTTP connection.
The browser handles reconnection automatically. The protocol is text-based and easy to debug. And it works with your existing HTTP infrastructure.
In this chapter, we will explore:
Server-Sent Events is a web technology that allows servers to push updates to clients over a persistent HTTP connection. Unlike traditional request-response HTTP where the client initiates every exchange, SSE flips the model: the client opens a connection once, and the server sends data whenever it wants.
The key characteristics of SSE:
Think of SSE as a one-way radio broadcast. The server is the radio station, continuously transmitting. Clients tune in and listen. They cannot talk back through the same channel, but that is fine because they just need to receive.