WebSocketは、WebブラウザとWebサーバー間の双方向通信を可能にする技術です。従来の HTTP リクエスト/レスポンスのやり取りでは、クライアントがサーバーに要求を送信し、サーバーはそれに対してレスポンスを返すという単方向的な通信しか行えませんでした。
しかし、WebSocketを使用すると、ブラウザとサーバーは接続を維持し、いつでも相互にデータを送信できます。これにより、リアルタイムの情報を処理するアプリケーションや、オンラインゲーム、チャットアプリケーションなどの開発が容易になります。
WebSocketは、HTTPのアップグレードリクエストを使用して開始されます。クライアントがサーバーに対してアップグレードリクエストを送信すると、サーバーは接続を確立し、以降の通信はWebSocketプロトコルを介して行われます。また、WebSocketはTLS/SSLによる暗号化もサポートしています。