WebSocketは基本的にはメッセージ転送型のアプリケーションプロトコルです(はトランスポート層としてTCPを使用しています)。
WebSocketプロトコルの背後にあるアイデアは、確立されたTCP接続をクライアントとサーバーの間で再利用することから成っています。 HTTPハンドシェークの後、クライアントとサーバーは、WebSocketエンベロープを交換することによってWebSocketプロトコルの使用を開始します。 HTTPハンドシェイクは、いくつかのサービスを提供するクライアントとサーバとの間の障壁(例えば、ファイアウォール)を克服するために使用される(通常、ポート80はどこからでも誰でもアクセス可能である)。クライアントとサーバーは、同じTCP接続(決して解放されない)を利用して、任意の瞬間に話すHTTPを切り替えることができます。
バックグラウンドWebSocketは、一貫した封筒/メッセージでTCPフレームを再構築します。サーバーは全二重チャネルを使用して、の更新を非同期でクライアントに向けてプッシュします。チャネルは開いており、クライアントは非同期のWebSocket受信メッセージを管理する任意の先物/コールバック/約束を呼び出すことができます。
簡単に言えば、WebSocketは、JSクライアント(以前のCometとのコラボレーション)を使って効果的なリアルタイムアプリケーションを構築することを可能にするTCP(信頼性の高いトランスポートレイヤー)サーバーからアップデートを取得するには、長いポーリング手法をで使用しました。
私はWikipediaのあなたの文章は少し誤解を招くと思います。私があなたのリンクから読んだところから、WebSocketはHTTP以外のトラフィックに使用されるHTTP TCP接続であるようです。 IEでは、あなたは、VPN接続のトラフィックなどのソケットを使用するために、そのポート80へのTCP接続でサーバと交渉します。だから、WebSocketはhttp以外のhttpソケットにすぎませんか? Spitballing ... Wikipediaの抜粋のバイトの代わりに、 "メッセージ"が何を意味するのかはっきりしない。 – 0xhughes