HTML5 WebSockets仕様は、WebページがWebSocketプロトコルを使用してリモートホストと双方向通信できるようにするAPIを定義します。 WebSocket インターフェイスを導入し、ネットワーク上のソケットを介した全二重通信チャネルを定義します。 HTML5 WebSocket は、2 つの接続を維持することで全二重接続をシミュレートするために使用されるポーリングおよびロング ポーリング ソリューションを登ることができなくなることなく、不必要なネットワーク トラフィックと遅延を大幅に削減します。
HTML5 WebSocket はプロキシやファイアウォールなどのネットワーク ハザードを考慮し、あらゆる接続でストリーミングを実行できるようにし、単一の接続でアップストリーム通信とダウンストリーム通信をサポートできるため、HTML5 WebSocket ベースのアプリケーション サーバーは負荷を軽減し、既存のマシンを使用できるようにします。より多くの同時接続をサポートします。以下の図は、WebSocket ベースの基本的な構造を示しています。この構造では、ブラウザは全二重 WebSocket 接続を使用してリモート ホストと直接通信します。アプリケーションは通常、ファイアウォールとプロキシの基本的な防御線としてロング ポーリングを使用します。この手法は効果的ですが、500 ミリ秒未満の遅延や高スループットが必要なアプリケーションには適していません。 Adobe Flash などのプラグイン ベースのテクノロジも、ある程度のソケット サポートを提供しますが、プロキシやファイアウォール トラバーサルの問題を抱えていましたが、現在は WebSocket によって解決されています。
WebSocket はプロキシ サーバーの存在を検出し、プロキシを介したトンネルを自動的に設定します。トンネルは、プロキシ サーバーに HTTP CONNECT ステートメントを発行することによって確立されます。このステートメントは、プロキシ サーバーに対して、特定のホストおよびポートへの TCP/IP 接続を開くように要求します。トンネルが確立されると、通信はプロキシ経由で流れるようになります。 HTTP/S も同様に機能するため、SSL 経由の安全な WebSocket は同じ HTTP 接続テクノロジを利用できます。 WebSocket は最新のブラウザでのみサポートされ始めていることに注意してください (現在、Chrome は WebSocket をネイティブにサポートしています)。ただし、下位互換性のある実装により、今日のブラウザでこの新しいテクノロジーを利用できるようになります。
以上が WebSocket 入門と HTML5 の実戦と分析の内容です。 PHP 中国語 Web サイト (www .php.cn) に注意してください。