1. 序章

ネットワークアドレスは、ネットワーク上のさまざまなリソースを識別するために使用されます。

このチュートリアルでは、127.0.0.1とlocalhostの違いを確認します。 まず、それらが何であるか、どこでどのように使用されるかを定義します。 最後に、2つの用語の違いを説明します。 いくつかの定義から始めましょう。

2. 127.0.0.1とは何ですか?

127.0.0.1は、ループバックインターフェイスに特別に割り当てられたIPアドレス、つまりループバックアドレスです。 127.0.0.1は、アドレスが入力されたのと同じデバイスとの接続を確立するために使用される、ルーティング不可能なプライベートIPアドレスです。 たとえば、コマンドプロンプトウィンドウにコマンドを入力すると、元のデバイスに接続されます。

C:\Users>ping 127.0.0.1

Pinging 127.0.0.1 with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

では、なぜ元のデバイスとの接続を確立する必要があるのでしょうか。 場合によっては、ネットワークに接続されているデバイスでインターネットプロトコル(IP)スタックを検証する必要があります。 接続プロトコルをテストするために使用されます。 さらに、127.0.0.1を使用すると、元のマシンで実行されているネットワークサービスにアクセスできます。

現在、これはアプリケーション、特にWebアプリケーションを開発するときに特に役立ちます。 たとえば、開発者はアプリケーションWebサーバーをホストし、アドレスを127.0.0.1として構成できます。 このアドレスを入力するたびに、ローカルWebサーバーのページが読み込まれます。

また、デバイスに存在するループバックアドレスは127.0.0.1だけではないことに注意する必要があります。 それに関連する全範囲があります。 したがって、127.0.0.1から127.0.0.255までの任意のアドレスが同じように機能します。

3. localhost とは何ですか?

localhostという用語は通常、ループバックアドレス127.0.0.1を持つローカルコンピューターを指すために使用されます。 そのため、ブラウザのアドレスバーに「localhost」と入力すると、デバイス自体に接続されます。 localhostの目的は、127.0.0.1のドメイン名として機能することです。

したがって、ローカルホストはループバックアドレスと同じ機能を持っていると言えます。

4. それらはどのように機能しますか?

それらが伝送制御プロトコル/インターネットプロトコル(TCP / IP)モデルでどのように機能するかを説明しましょう。 TCIP / IPモデルは、IPネットワークでの通信の標準を定義します。 これは、以下に示す4つの主要なレイヤーで構成されています。

OSIモデルのTCP層

送信者側の通信は上から下へ、受信者側の通信はその逆です。

送信者側のこれら2つのアドレスのいずれかにアドレス指定されたパケットは、最初にアプリケーションおよびトランスポート層を通過します。 インターネット層に到達すると、宛先アドレスが127.0.0.1またはlocalhostであることが検出されると、パケットはデバイスに送り返されます。 ローカルネットワークを終了しません。

5. 違いは何ですか?

多くの場合、localhostと127.0.0.1は同じ意味で使用されます。 2つは同じものと見なされます。 ただし、それらの間には微妙な違いがあります。 これらを見てみましょう:

  • まず、ローカルホストに関連付けられたIPアドレスを解決または検索する必要がありますが、127.0.0.1は通常解決を必要としません。
  • 第二に、ローカルホストは常に127.0.0.1に解決されるとは限りません。 アドレスのループバックブロック内の別のアドレスに解決される場合があります。

6. 結論

この記事では、127.0.0.1とlocalhostについて説明しました。 それがどのように機能し、その目的を果たすかについて説明しました。 最後に、アプリケーション開発をこれら2つの用語の主なアプリケーションとして特定しました。