私はWebSocketについて読みましたが、ブラウザーが単純なTCP接続を開いて、他のデスクトップアプリケーションと同じようにサーバーと通信できないのはなぜでしょうか。そして、なぜこの通信はウェブソケットを介して可能ですか?
80
。定義上、1つのポートは1つのアプリケーションにのみ接続できます。では、クライアントがWeb(HTTP)以外のサービスを使用したいが、使用可能なポートが1つしかない場合はどうなるでしょうか。出来上がり!WebSockets!
私はWebSocketについて読みましたが、ブラウザーが単純なTCP接続を開いて、他のデスクトップアプリケーションと同じようにサーバーと通信できないのはなぜでしょうか。そして、なぜこの通信はウェブソケットを介して可能ですか?
80
。定義上、1つのポートは1つのアプリケーションにのみ接続できます。では、クライアントがWeb(HTTP)以外のサービスを使用したいが、使用可能なポートが1つしかない場合はどうなるでしょうか。出来上がり!WebSockets!
回答:
イントラネットの境界内で作業しているときは、TCPソケットを介して通信する方が簡単です。これは、そのネットワーク上のマシンを制御でき、TCP接続に適したポートを開くことができるためです。
インターネットを介して、相手側の他のサーバーと通信しています。彼らは非常に接続のための任意の古いソケットのオープンを持っている可能性は低いです。通常、HTTPの場合はポート80、HTTPSの場合は443のように、いくつかの標準的なものしかありません。したがって、サーバーと通信するには、これらのポートの1つを使用して接続する必要があります。
これらは一般的にHTTPを話すWebサーバーの標準ポートであるため、HTTPプロトコルに準拠する必要があります。そうでない場合、サーバーは通信しません。Webソケットの目的は、HTTP経由で接続を開始できるようにすることですが、Webソケットプロトコルを使用するようにネゴシエートして(サーバーがそのようにできる場合)、より「TCPソケット」のような通信ストリームを許可します。