When a dashboard displays work in progress, users expect it to update without a manual refresh. A bookstore partner dashboard might show several exports that the service is generating, but repeatedly fetching the same unchanged data wastes requests. The API needs a way to deliver updates while the page is open.
Long polling, Server-Sent Events, and WebSockets can all support that experience. They differ in how requests remain open, which side can send messages, and how much connection management the application must provide.
This chapter compares their behavior and trade-offs using a fictional bookstore dashboard.