WebSocket
A persistent two-way connection over one TCP socket, for real-time push both directions — unlike request/response HTTP.
A WebSocket upgrades an HTTP connection into a persistent, full-duplex channel: once open, server and client can send messages to each other at any time over a single TCP connection — no new request per message. It is the backbone of real-time features.
Worked example: a chat app or live dashboard opens one WebSocket and receives new messages the instant the server pushes them, instead of polling an endpoint every second. Gotcha: persistent connections are stateful — each open socket consumes server memory and is pinned to one server, complicating load balancing (you need sticky routing or a pub/sub backplane); for one-way server-to-client updates, simpler Server-Sent Events are often enough.