Protocol that provides a two-way (full-duplex ?) communication over a single, long-lived TCP connection. Essentially, WebSockets allow to open and persist a connection so you don’t have to close it after each data packet is sent. As opposed to traditional HTTP model which is request → response and it closes the connection after each data packet is sent.
Can be used for a variety of web applications: games, stock tickers, multiuser applications with simultaneous editing, user interfaces exposing server-side services in real time, etc.