ローカルホストとは何か、127.0.0.1との違いは何か?

ネットワークデバイスがすべて切断されていても、コンピュータは一種のネットワークを介して通信することができます。「ループバック」として知られるこの機能により、Unixマシンは自分自身と仮想ネットワークデバイスを介してネットワーク通信を送受信できます。コンピュータは自分自身にメッセージを送信でき、機能するネットワークがなくてもネットワークスタイルの通信を許可します。
127.0.0.1とは何か?
127.0.0.1は、最も一般的に使用されるループバックIPアドレスです。これは、ループバック機能のために特に使用される1600万以上のIPアドレスの予約ブロックの一部です。ループバックにより、コンピュータはネットワーク接続プロトコルを使用して自分自身と通信できます。
広義には、ループバックは、1つのエンドポイントのみでネットワーク接続を作成する仮想ネットワーキングデバイスであり、つまり、同じデバイス(コンピュータ)で始まり、終わります。実際、ループバックデバイスはipconfigにloという名前で表示されます。ループバックアドレスは主にトラブルシューティング(鏡を見るのに似ています)や、ネットワークインターフェースを介してローカルリソースにアクセスするために使用されます。
さらに読む: Nginxをリバースプロキシとして使用する方法
localhostとは何か?

「localhost」は、発信サーバーに接続する通信ポートを説明します。これは、ネットワーク接続が自分自身に「ループバック」することを許可し、ネットワークが存在しない場合や利用できない場合にネットワーク接続をエミュレートすることを可能にします。実際には、localhostは使用および議論のために127.0.0.1と同義として扱われます。しかし、彼らが厳密に同一ではないことを覚えておくことが重要です。
オペレーティングシステムは、ユーザーが入力したテキスト文字列をナビゲート可能なIPアドレスに変換するためにDNSリクエストを行う前に、HOSTSファイルをチェックしてエイリアスやリダイレクトルールを確認します。標準のデフォルトに設定されたシステムでは、URI内の「localhost」はIPv4では127.0.0.1、IPv6では::1に解決されます。しかし、ループバックアドレスはこれら2つだけではありません。ループバックアドレス用に予約されたIPアドレスのブロックは、127.0.0.0から127.255.255.255まで広がっています。
ほとんどのケースでlocalhostは、上記のようにHOSTSファイルのリダイレクトルールのおかげで127.0.0.1に解決されます。しかし、場合によってはlocalhostが異なるIPアドレスにマッピングされることがあります。したがって、localhostはそのブロック内の任意のIPアドレスを指すことができ、同様に機能します。
結論:localhostと127.0.0.1の違いは何か?
ほとんどのマシンでlocalhostと127.0.0.1は機能的に同一です。しかし、localhostはIPアドレスのラベルであり、アドレス自体ではありません。localhostは異なるIPアドレスを指すことができます。実際、予約アドレスブロックの外にあるIPアドレスを指すこともできます。HOSTSファイルは気にせず、あなたを止めることはありません。しかし、それはシステムの重要な機能を壊し、localhost接続に依存するアプリをクラッシュさせることになります。
127のアドレスブロックは、バイナリアドレス値00000001から01111111までのClass Aアドレスの最後のブロックであるため、ループバックアドレスブロックに選ばれました。IPv6では、ループバックアドレスは最初のアドレス0:0:0:0:0:0:0:1であり、最も頻繁にその短縮形::1で表現されます。
WindowsからUnixシステムに移行する場合、ループバックはほぼlocalhostと同義であることに気付くかもしれません。「ループバック」を127.0.0.1にリダイレクトするためにHOSTSファイルを使用できますが、それは他の何よりもテキストの置き換えに過ぎません。