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,