Server-sent events

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Server-sent events (SSE) is a technology for where a browser gets automatic updates from a server via HTTP connection. The Server-Sent Events EventSource API is standardized as part of HTML5[1] by the W3C.

History[edit]

The WHATWG Web Applications 1.0 proposal[2] included a mechanism to push content to the client. On September 1, 2006, the Opera web browser implemented this new experimental technology in a feature called "Server-Sent Events".[3]

Overview[edit]

Server-sent events is a standard describing how servers can initiate data transmission towards clients once an initial client connection has been established. They are commonly used to send message updates or continuous data streams to a browser client and designed to enhance native, cross-browser streaming through a JavaScript API called EventSource, through which a client requests a particular URL in order to receive an event stream.

Web browsers[edit]

Web browser support for Server-Sent Events
Browser Supported Notes
Internet Explorer No [4]
Mozilla Firefox Yes Starting with Firefox 6.0 [5]
Google Chrome Yes [4]
Opera Yes Starting with Opera 11 [4]
Safari Yes Starting with Safari 5.0 [4]

Libraries[edit]

  • TRVSEventSource - Server-sent events EventSource implementation in ObjC for iOS and OS X using NSURLSession.
  • Cramp - Ruby/EventMachine based server implementation for WebSocket and Server-Sent Events.
  • django-sse - HTML5 Server-Sent Events integration for Python/Django.
  • flask-sse - A simple Flask extension for HTML5 server-sent events support, powered by Redis.
  • sse - Server Sent Events protocol implementation on python2 and python3 in the same codebase.
  • event-source-library - Server Sent Events protocol implementation in python2 with tornado. Client and server implementations.
  • SignalR - Transparent implementation for ASP.NET.
  • Mojolicious - Perl real-time web framework.
  • Hoa\Eventsource - PHP Server-Sent Events implementation.
  • sse-stream - Node.js/Browserify Server-Sent Events implementation (client and server).
  • total.js - web application framework for node.js - Server-Sent Events example + supports WebSockets (RFC 6455)

See also[edit]

References[edit]

External links[edit]