localhostとは?意味や使い方などをわかりやすく解説!

この記事では『localhost』について、以下の内容を図やサンプルコードを用いてわかりやすく解説します。

  • localhostとは
  • localhostとホストファイルの関係
  • localhost127.0.0.1の違い
  • localhostでWebサーバーを立ち上げるサンプルコード

localhostとは

localhostとは

localhost(ローカルホスト)は、現在使用しているコンピュータ自身を指す特別な名前(ホスト名)です。

インターネットを利用するとき、私たちは世界中のサーバーに接続しますが、localhostを使うと、外部ネットワークを通らずに自分のコンピュータ内で通信ができます。たとえば、WebアプリケーションやWebサイトを開発しているとき、localhostを利用することでインターネットに公開する前に、自分のPC内でテストを行えます。

技術的には、localhostはIPアドレスの127.0.0.1に対応しています。このIPアドレスは「ループバックアドレス」と呼ばれ、通信が必ず自分自身に戻るように設定されています。

例えば、ブラウザで「http://localhost」と入力すると、現在使用しているコンピュータ内で動作しているWebサーバーにアクセスします。外部ネットワークに接続する必要がないため、安全に接続できます。

localhostとホストファイルの関係

localhostは、コンピュータ内のホストファイルという設定ファイルで127.0.0.1に関連付けられています。

ホストファイルの場所

  • Windows: C:\Windows\System32\drivers\etc\hosts
  • Mac/Linux: /etc/hosts

ホストファイルには、次のような行が含まれています。

127.0.0.1   localhost

この設定により、localhostはIPアドレス127.0.0.1に名前解決(ホスト名とIPアドレスの関連付け)されます。このように「ホストファイル」には、IPアドレスとホスト名の対応関係が記載されています。

例えば、以下のようにホストファイルを変更すると、ブラウザで「http://localhost」と入力しても、名前解決できないので、現在使用しているコンピュータ内で動作しているWebサーバーにアクセスできなくなります。逆にブラウザで「http://localhosthoge」と入力すると、現在使用しているコンピュータ内で動作しているWebサーバーにアクセスできるようになります。

127.0.0.1   localhosthoge

localhostと127.0.0.1の違い

localhost127.0.0.1はほぼ同じものを指しますが、以下のような違いがあります。

127.0.0.1はIPアドレスそのものです。localhostはホストファイルで名前解決されたホスト名です。つまり、localhost127.0.0.1を人間が理解しやすい名前に置き換えたものです。

ただし、環境によってはlocalhostが別のIPアドレス(例:IPv6アドレスの::1)に割り当てられることもあります。環境によって動作が異なることがあるので注意してください。

localhostでWebサーバーを立ち上げるサンプルコード

Pythonを使ってローカル環境でWebサーバーを立ち上げて、簡単に動作を確認する例を紹介します。

以下のコードをserver.pyという名前で保存してください。

from http.server import SimpleHTTPRequestHandler, HTTPServer

# サーバーの設定
host = "localhost"
port = 8000

# サーバーの起動
if __name__ == "__main__":
    with HTTPServer((host, port), SimpleHTTPRequestHandler) as server:
        print(f"Server running on http://{host}:{port}")
        server.serve_forever()

Pythonがインストールされている環境で、コマンドプロンプトやターミナルを開いて、server.pyを保存したディレクトリに移動します。

その後、以下のコマンドを実行します。

python server.py

そして、ブラウザでhttp://localhost:8000にアクセスします。すると、現在のディレクトリのファイル一覧がWebサーバーを通じて表示されます。例えば、index.htmlをディレクトリに置くと、そのHTMLファイルがWebページとして表示されます。

本記事のまとめ

この記事では『localhost』について、以下の内容を説明しました。

  • localhostとは
  • localhostとホストファイルの関係
  • localhost127.0.0.1の違い
  • localhostでWebサーバーを立ち上げるサンプルコード

お読み頂きありがとうございました。