This document introduces WebSockets and how they enabled real-time communication on the web. It discusses the limitations of HTTP for real-time applications and how earlier technologies like polling tried to solve this problem. WebSockets provide a standardized solution through a full-duplex protocol that avoids header overhead and allows for persistent connections. The document demonstrates how to use the WebSocket API in JavaScript and introduces common WebSocket client libraries.