HTTPプロトコルを使用している場合でも、IPアドレスでポート番号を指定する必要があるのはなぜですか?例えば - http://xyz:8080...
-これはどういう意味ですか? HTTPを使用している間、リクエストがポート80で提供されることはすでにわかっています。そこで、なぜポートを明示的に指定するのですか?
HTTPのデフォルトポートは80、HTTPSは443ですが、ポート番号の範囲は0〜65535です。ほとんどのWebサーバーはデフォルトポートでリッスンするため、ポートなしでURLを参照する方が簡単です。たとえば、ポート80がデフォルトのポートであるため、http://www.cnn.com/
はhttp://www.cnn.com:80/
と同じリソースを参照します。 HTTP/HTTPSサービスがデフォルトのポート以外の場合、URLでポートを指定する必要があります。
URLは RFC 1738 によって定義され、ポートを含む次の簡略化された構文を使用します。
<scheme>://<Host>:<port>/<url-path>
したがって、たとえば、URL http://xyz:8080/...
は、HTTPをプロトコルとして使用してポート8080をリッスンするホストマシン名またはIPアドレスを参照します。次に、そのアドレスのHTTP(またはWeb)サーバーがurl-pathを特定のサービスまたはファイルに解決します。
特定のスキームまたはプロトコルのデフォルトのポートである場合、ポートはオプションです(例:HTTP = 80)。
特定のマシンは、異なるポートからのHTTPサービスを使用して複数の異なる製品をホストできます。たとえば、Apache Webサーバーは特定のサーバーのポート80をリッスンしているのに対し、Apache Tomcatは同じマシンのポート8080をリッスンしています。さまざまなデータベースおよびメッセージング製品は、通常、異なるポートにHTTPサービスを備えています。 ポートは、クライアントが特定のサービスを参照できるアドレスの一部です。
ポートはある意味で「チャネル」のようなものです...同じWebサイトのさまざまな機能にアクセスする必要がある場合は、さまざまなポートを使用します。 HTTPはポート80、HTTPSは443、SSHは22などです。