40

私は html5 の websockets 仕様に非常に興奮していますが、懸念があります。

最近では、ファイアウォールが組み込まれたルーター (有線/無線) を使用して、誰もが何らかのネットワークから離れて運用されており、Windows にもファイアウォールが組み込まれています。

サーバーが websocket ハンドシェイクを開始したブラウザーに接続しようとすると、大多数のユーザーは失敗しますか? (ほとんどの人は、ルーターでポート転送を設定する方法を知りません)

それとも私の考えが間違っていて、うまくいくのでしょうか?

4

3 に答える 3

27

私は専門家ではありませんが (チェックして確認してください)、通常の HTTP 接続を確立してから WebSocket にアップグレードできる UPGRADE メカニズムがあると信じています。そのため、積極的なアプリケーション レベルを実行していない限り、既存のファイアウォール ルールが干渉することはありません。パケット検査。接続は引き続きブラウザによって開始されます。

于 2009-12-28T04:29:41.377 に答える
9

HTML 5 WebSockets はポート転送を必要としません。クライアントからの接続は引き続き確立されますが、接続が確立されると、クライアントとサーバーの非対称性はなくなります。WebSocket は、HTTPS が現在使用しているのと同じ CONNECT メカニズムを使用して、プロキシをパンチスルーします。

于 2009-12-28T04:32:53.917 に答える
7

通常、ファイアウォールはインバウンド トラフィックの拒否とアウトバウンド トラフィックのルーティング (通常はプロキシ サーバー経由) のルールを適用するだけなので、通常、WebSocket トラフィックに関連する特定のファイアウォールの問題はありません。

ただし、プロキシ サーバー (およびある程度、特定の負荷分散ルーターも同様) は別の問題です (現在の Websocket クライアントの実装がプロキシをサポートしていないのはなぜですか?を参照してください) 。

于 2010-02-18T20:12:56.020 に答える