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.
Interfaces
EventSource
- Defines all the features that handle connecting to a server, receiving events/data, errors, closing a connection, etc.
Examples
Specification
Specification | Status | Comment |
---|---|---|
WHATWG HTML Living Standard The definition of 'Server-sent events' in that specification. |
Living Standard |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
EventSource support | 6 | No support | 6.0 (6.0) | No support | (Yes) | 5 |
Available in shared and dedicated workers[1] | (Yes) | No support | 53.0 (53.0) | No support | (Yes) | (Yes) |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
EventSource support | 4.4 | 45 | No support | 12 | 4.1 |
Available in shared and dedicated workers[1] | (Yes) | 53.0 (53.0) | No support | (Yes) | (Yes) |
[1] But not service workers as yet.
See also
Tools
- Remy Sharp’s EventSource polyfill
- Yaffle’s EventSource polyfill
- Rick Waldron’s jquery plugin
- intercooler.js declarative SSE support
Related Topics
Other resources
- A Twitter like application powered by server-sent events and its code on Github.
- HTML5 and Server-sent events
- Server-sent events using Asp.Net
Document Tags and Contributors
Tags:
Contributors to this page:
DomenicDenicola,
chrisdavidmills,
valtlai,
carsongross,
mooyoul,
teoli,
Sheppy,
ethertank,
raju_dasa,
Yaffle,
jswisher,
louisremi
Last updated by:
DomenicDenicola,