Traditionally, a web page has to send a request to the server to receive new data; that is, the page requests data from the server. With server-sent events, it's possible for a server to send new data to a web page at any time, by pushing messages to the web page. These incoming messages can be treated as Events + data inside the web page.
Note: This feature is available in Web Workers
Note: Firefox does not currently support the use of server-sent events in service workers (it does support them in dedicated and shared workers). See Firefox bug 1681218.
Concepts and usage
To learn how to use server-sent events, see our article Using server-sent events.
Defines all the features that handle connecting to a server, receiving events/data, errors, closing a connection, etc.
|HTML Standard |
- Mercure: a real-time communication protocol (publish-subscribe) built on top of SSE
- EventSource polyfill for Node.js
- Remy Sharp's EventSource polyfill
- Yaffle's EventSource polyfill
- Rick Waldron's jquery plugin
- intercooler.js declarative SSE support
- A Twitter like application powered by server-sent events and its code on GitHub.
- HTML5 and Server-sent events