This document discusses web sockets and how they provide for bi-directional, full-duplex communications over a single TCP connection. It describes how web sockets establish a connection using a handshake process and then allow text and binary frames to be sent back and forth between client and server with low overhead framing. The HTML5 web socket API is demonstrated for opening a connection and listening for messages and connection events.