web-dev-qa-db-ja.com

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

リモートサーバーが機能せず、127.0.0.1でも機能する、またはその逆のため、localhostと同じURLが表示されます。

URLアドレスのサーバーインジケーターの4つの形式の違いが欲しい:

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

サンプルのApache ActiveMQ WebコンソールのURLは、私のコンピューターでは次の形式で表示できます。

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

(申し訳ありませんが、間違った用語や文法を使用している場合は、英語を学習しています。)

8
Sam

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

通常、 http:// localhost:8161http://127.0.0.1:8161 にアクセスします。 localhostにリクエストを行うと、DNSリクエストを行う前に、OSはHOSTSファイル(Linuxでは/ etc/hosts)を調べ、localhostが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にアクセスしようとします。

5
André Onuki

質問を受けたかどうかはわかりませんが、4つのURLの違いは何ですか?

その場合は:

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

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

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

別のワークステーションからApache ActiveMQに接続する場合。 computernameまたは192. * IPが適しています。

4
xstnc