Overview
Advantages
- Can stream over simple HTTP
- Native browser support
Disadvantages
- Bidirectional communication is challenging
- Buffering related issues can arise with clients an proxies who have buffer limits and they might not render data until thresholds are met

- A typical server HTTP request, it returns an HTTP response of a finite length. It is possible to make this indefinite.
- The server continues to push data in a single long-live connection. There are two ways in which the server can do this. See below.

- The first option is for the server to set the transfer encoding to header "chunked". This option is common for non-browser clients (two backend servers)
- Another option is to stream data via server-sent events. This is great for clients that consume data through the browser. Especially because they can use the standardized event source API web interface.