Backend & systems·API and interface design
the client makes a request and you hold it open for thirty seconds, only answering when something actually happens.
Long polling
Holding a request open until data is available or a timeout expires, then having the client immediately reconnect. It gives near-real-time delivery over plain HTTP with no protocol upgrade. It consumes a connection and often a server thread per waiting client, which is why it scales far better on async runtimes than on thread-per-request ones.