localhost と 127.0.0.1 とコンピュータ名と URL 内の IP

localhost と 127.0.0.1 とコンピュータ名と URL 内の IP

localhostリモート サーバーが機能せず、 が機能しているという同じ URL が表示されます127.0.0.1(またはその逆)。

URL アドレス内のサーバー インジケーターの 4 つの形式の違いを知りたい:

  1. ローカルホスト
  2. 17.0.0.1
  3. コンピュータネーム
  4. ip

サンプルのApache ActiveMQWeb コンソールの URL は、コンピューターでは次の形式で表示されます。

  1. http://localhost:8161/
  2. http://127.0.0.1:8161/
  3. http://mjm:8161/
  4. http://192.168.20.92:8161/

(間違った用語や文法を使っていたらごめんなさい。私は英語を勉強中です。)

答え1

それはすべてアドレス解決に関するものです。

いつもの、http://localhost:8161アクセスするhttp://127.0.0.1:8161ローカルホストにリクエストを行うと、DNS リクエストを行う前に、OS は HOSTS ファイル (Linux では /etc/hosts) を調べ、ローカルホストが 127.0.0.1 にマップされるというルールを確認します。

場合によっては、localhost が 127.0.1.1 などの別の IP にマップされることがあります。これにより、localhost と 127.0.0.1 の間で誤動作が発生する可能性があります (例: サービスは 127.0.1.1 にマップされている localhost をリッスンするように構成されており、127.0.0.1 にアクセスしようとした場合)。

ホスト名を使用すると、OS はネットワーク スタックをさらに進み、DNS 要求を行ってホスト IP を検出し、その URL にアクセスしようとすることもあります。

IP アドレスを使用すると、SO は指定された IP アドレスを使用してその URL にアクセスしようとします。

答え2

質問の意味がよく分かりませんが、4 つの URL の違いは何なのか知りたいのでしょうか?

その場合は:

127.0.0.1 (ローカルマシンのループバック IP) localhost (127.0.0.1 アドレスに解決されます)

^ 上記の 2 つは、ネットワーク内の他の機器 (他のワークステーション ++) からはアクセスできません。

この場合、mjm と 192.168.20.92 は、同じコンピューターに接続する 2 つの方法であり、「外部」からアクセスできます。

別のワークステーションから Apache ActiveMQ に接続する場合は、コンピュータ名または 192.* IP を使用します。

関連情報