XMLHttpRequestの欠点を解決する技術として開発されている、Webサーバとブラウザとの間の双方法通信規格。
従来のXMLHttpRequestはあくまでブラウザ側からサーバにデータの送信要求を出す手段に過ぎないため、サーバ側からクライアントにデータをプッシュ配信することが難しい。
これに対しWebSocketでは、サーバとクライアントが一度コネクションを行った後は、必要な通信を全てそのコネクション上で専用のプロトコルを用いて行う。
従来の手法に比べると、
- 新たなコネクションを張ることがなくなる
- HTTPコネクションとは異なる軽量プロトコルを使うなどの理由により通信ロスが減る
- 一つのコネクションで全てのデータ送受信が行えるため同一サーバに接続する他のアプリケーションへの影響が少ない
などのメリットがある。