0

Javaを使用してTelnetサーバーを作成していますが、ユーザーがどのドメインから接続しているかを検出したいと思います。私の場合、すべてが自分のIPを指す3つのドメイン(、、、example.comおよびexample.netexample.orgがあり、それらすべてに対して異なるサーバーをホストしたいと考えています。別のメッセージを送信できるように、接続しているドメインを検出する必要があります。

Apache WebサーバーがVirtualHostsと似たようなことをしていることを知っていて、Javaでこれを行う方法を考えていました。

4

2 に答える 2

1

あなたは本当にできません。

Apacheは、仮想ホストを使用してこれをサポートできます。これは、HTTPプロトコルがリクエストのコンテンツにホストヘッダーを含み、ブラウザーがURLのホスト部分を入力するためです。( rfc-2616のセクション14.23を参照)

私の知る限り、Telnetにはそのようなヘッダーは含まれていません。チェックするのに最適な場所はrfc-854です

于 2013-03-13T23:20:46.613 に答える
0

HTTPプロトコルはドメイン名と密接に関連しており、サーバーを構築している場合はニーズに合う可能性が高くなりTelnetます。これは堅実で、十分に改善されたプロトコルです。

この場合、非推奨のプロトコルHTTPの代わりに使用しないのはなぜですか?Telnet

ここでの利点は次のとおりです。

  • HTTPは、必要なすべてのデータを処理します。幅広いメタデータにアクセスできる、より複雑なアプリケーションを簡単に構築できるようになります。

  • Apache commonのHTTPコンポーネントなど、Javaで使用可能な多数のHTTPスタックを使用する機能

  • 多くのアプリがすでにサーバーとのリクエストを送受信できるため、互換性があります。

  • ニーズの変化に応じてサーバーを拡張できるため、スケーラビリティ。たとえば、サーバーとクライアント間のストリームを保護する必要がある状況を考えてみましょう。HTTPSサポートは、JavaのほとんどのHTTPスタックに組み込まれています。

  • 最後に、クライアントがどのドメインからリクエストを行ったかを知ることができます。

于 2013-03-13T23:33:28.883 に答える