回答:
一部のサービスは、ローカルホストのIPアドレスでのみリッスンするように構成されています。
例としては、MySQLデータベースがあります。同じサーバー上で実行されているPHPアプリケーションに接続したいが、外部サービスや外部からのハッカーさえも接続したくない場合です。127.0.0.1サーバーの実際のIPアドレス(10.x.x.xたとえば)ではなく、ローカルホストアドレスのみ(たとえば)を受け入れるようにMySQLを構成することにより、侵害される可能性を減らします。
だから、あなたの質問に答えるために-はい、彼らは異なっています。
localhost127.0.0.0ネットワークのIPアドレスが与えられて、仮想ループバックネットワークデバイスに与えられますlo。このデバイスは、物理ネットワークデバイス(WiFiまたはイーサネットなど)が装備されているかどうかに関係なく、すべてのシステムに存在します。どのネットワークにも接続されていないシステムには、このループバックデバイスがあるため、127.0.0.0アドレスがあります。名前localhostは単にこのIPアドレスに解決される名前であり、で設定され/etc/hostsます。
あなたの本当の IPアドレス(たとえば、10.xxx)は、ネットワークデバイスに割り当てられています。これは通常、物理ネットワークデバイス(WiFiまたはイーサネット)ですが、高度なセットアップtunまたはtapデバイスでも使用できます。再び、(例えば、名前解決www.example.orgには10.0.1.1)に設定することができ/etc/hosts、またはDNSを使用するように設定することができます。
127.0.0.1 は localhost、現在のマシンのアドレスであり、ループバックインターフェイスを介してアクセスされます(ネットワークアダプターを介してではなく、システムにネットワークチップがなくても機能します)。
ルーターから取得するIPは別の話です。これは、ネットワーク上の他のコンピューターがあなたを見つけることができるアドレスです。まあ、あなたは同じマシンでそのIPを使用することもできますが、それは以前とは異なる動作をします:それはルーターに出て行きます(ここでは簡単にしていますが、それは一般的な考え方です)。
また、インターネットに接続している場合は、ISPから別のIPを取得します。これは、世界中の他のコンピューターがあなたを見つけるためのIPです。ただし、これら2つは少なくとも同じネットワークアダプター(eth0またはワイヤレスカードなど)を指します。localhost違います。
オペレーティングシステム、サーバーなどは、からアクセスしlocalhostたときに異なる動作をする可能性があります。通常、そのためのファイアウォールはありません。多くのローカルサービスには、localhost単にアプリケーションと通信するためのインターフェイスがあります。多くの場合、最初に接続してリッスンするlocalhostだけでWebサーバーをテストする必要があります。そうすれば、機能するかどうかを確認できますが、他の人はできません。次に、外部IPアドレスでリッスンするように再構成し、Webサイトのサービスを開始できます(すべてがまだ機能するかどうかを再度テストします)。
network is unreachable。それ以外の場合は、取得するか類似したものになります。トリックは(少なくともdhcpでは)最初にLAN IPを提供するのはルーターであるということです。ルートが持続する場合、これは場合によっては異なる可能性がありますが、本質的には、LAN IPにはLANが必要であり、外部IPにはISPへの接続が必要です。
にアクセスするlocalhostと、/etc/hostsファイルはコンピューターにこれ以上調べないように指示し、自分のコンピューターにリダイレクトします。ローカルIPアドレスにアクセスすると、コンピューターはルーターにデータを取得するように要求し、ルーターはコンピューターを指すようになります。