localhost(ローカルホスト)は、今使っている自分自身のコンピューターを表す特別なホスト名です。
Web開発では、WordPressやWebアプリをインターネットへ公開する前に、自分のPC内だけで動かして確認するときによく使います。たとえば、ブラウザで http://localhost や http://localhost:3000 を開いて、PC内で起動しているWebサーバーへアクセスします。
30秒でわかる結論
30秒でわかる結論
- localhostは「自分自身のコンピューター」を指す特別なホスト名
- 一般的にループバックアドレスへ解決される
- Web開発・WordPress検証・API開発などのローカル環境でよく使う
localhost:3000の「3000」はポート番号- localhostで動くサイトは、通常そのままではインターネット公開されない
- localhostと127.0.0.1は近い意味だが、完全に同じ表記ではない
- 共用レンタルサーバー利用者は、普段のサイト運営でlocalhostを意識しなくてもよい
localhostとは?
localhostは、自分自身の端末を表すために予約された特別な名前です。
RFC 6761では、localhost および .localhost 以下の名前は特別用途として扱われ、IPv4・IPv6のループバックアドレスへ解決されることが想定されています。
初心者向けに一言でいうと
localhost=「このPC自身」です。
localhostは何に使う?
localhostは、本番公開前の開発・検証環境でよく使います。
| 用途 | 例 |
|---|---|
| Web開発 | HTML・PHP・JavaScriptの動作確認 |
| WordPress | ローカル環境でテーマ・プラグインを検証 |
| API開発 | 自分のPCでAPIサーバーを起動 |
| データベース | PC内のMySQLなどへ接続 |
| アプリ開発 | 開発用サーバーをブラウザで確認 |
localhostへアクセスすると何が起きる?
ブラウザで http://localhost を開くと、外部のWebサイトへアクセスするのではなく、自分の端末内で待ち受けているWebサーバーへ接続しようとします。
Webサーバーが動いていなければ表示されない
localhostそのものがWebサイトを持っているわけではありません。Apache、Nginx、Node.js、PHPの開発サーバーなど、接続先のサービスが起動している必要があります。
localhostとループバックとは?
ループバックとは、通信を外部ネットワークへ出さず、自分自身へ戻す仕組みです。
localhostは、このループバック通信に使われる代表的なホスト名です。
イメージ
自分のPC
↓ localhostへアクセス
自分のPC内のWebサーバー
↓
自分のブラウザへ応答
通信がインターネット上の別サーバーへ飛ぶのではなく、同じ端末内で完結します。
localhostと127.0.0.1の関係
localhostは「名前」、127.0.0.1はIPv4のループバックアドレスとして使われる代表的なIPアドレスです。
| 項目 | localhost | 127.0.0.1 |
|---|---|---|
| 種類 | ホスト名 | IPv4アドレス |
| 用途 | 自分自身を名前で指定 | 自分自身をIPで指定 |
| IPv6 | IPv6ループバックへ解決される場合もある | IPv4専用 |
両者の細かな違いは「localhostと127.0.0.1の違いとは?」で詳しく扱います。
localhost:3000の「3000」とは?
localhost:3000 の 3000 はポート番号です。
1台のPCでは複数のサービスが同時に動くため、ポート番号で接続先を区別します。
例
http://localhost:3000 → 開発用Webアプリ
http://localhost:8000 → 別の開発サーバー
http://localhost:8080 → 別サービス
localhostは「場所」、ポートは「入口」
同じPC内でも、どのサービスへ接続するかはポート番号で分けます。
localhostは外部から見える?
通常、localhostはその端末自身からだけ利用するための名前です。
自分のPCで localhost:3000 が表示できても、別のPCで同じ localhost:3000 を開くと、その別PC自身を指します。
重要な違い
PC-Aで localhost → PC-A自身
PC-Bで localhost → PC-B自身
localhostのURLを送っても相手は見られない
開発中サイトのURLとして http://localhost:3000 を他人へ送っても、その相手のPC自身へアクセスするだけです。共有したい場合は、別途公開・共有できる環境が必要です。
localhostはインターネット接続がなくても使える?
ローカル環境だけで完結する処理なら、インターネット接続がなくても使えます。
ただし、ローカルサイトが外部API、Google Fonts、CDN、外部画像などを読み込んでいる場合は、その部分だけインターネット接続が必要です。
localhostはDNSを使う?
localhostは通常の一般ドメインとは扱いが異なります。
RFC 6761では、名前解決ライブラリやDNS関連ソフトウェアはlocalhostを特別扱いし、通常の外部DNS問い合わせを行わずループバックアドレスを返すことが推奨されています。
example.comとは違う
通常のドメイン名のようにインターネット上の権威DNSサーバーを探して解決する名前ではありません。
localhostはドメイン名?
見た目はホスト名ですが、一般の独自ドメインとは性質が異なります。
localhost は特別用途として予約されているため、通常のドメイン登録サービスで取得して、一般公開サイト用の独自ドメインとして使うものではありません。
| 項目 | localhost | example.comなど |
|---|---|---|
| 用途 | 自分自身の端末 | インターネット上のサイト |
| 通常のドメイン登録 | 不要・通常登録しない | 必要 |
| DNS | 特別用途として扱われる | 通常のDNSで名前解決 |
WordPressでlocalhostを使う場面
WordPressでは、本番サーバーへ公開する前にローカル環境を作るときにlocalhostを使うことがあります。
ローカルWordPressでできること
- テーマ変更のテスト
- プラグインの動作確認
- PHPバージョン変更の検証
- デザイン調整
- WordPress更新前の確認
- 開発中サイトの制作
本番サイトを壊しにくい
ローカル環境で先にテストすれば、公開中サイトへ直接変更を入れるリスクを減らせます。
localhostでWordPressを動かす方法
WordPressをローカルで動かすには、Webサーバー・PHP・データベースなどが必要です。
初心者は、これらを個別にインストールするより、WordPress用のローカル開発ツールや統合環境を使うと簡単です。
本番サーバーとの違い
| 項目 | localhost | 本番サーバー |
|---|---|---|
| 主な利用者 | 自分 | 一般ユーザー |
| 公開範囲 | 通常は端末内 | インターネット公開 |
| ドメイン | localhostなど | 独自ドメインなど |
| 用途 | 開発・検証 | 本番運用 |
| 環境 | 自分のPC依存 | レンタルサーバー・VPSなど |
localhostで動けば本番でも必ず動くとは限らない
PHPバージョン、データベース、Webサーバー、OS、ファイル権限などが異なると、本番環境だけで不具合が起きる場合があります。
localhostは安全?
localhostは外部ネットワークへ公開するための名前ではないため、一般公開サイトとは性質が異なります。
ブラウザでは http://localhost やループバックアドレスが、Secure Contextの観点で「潜在的に信頼できるオリジン」として扱われることがあります。そのため、一部のWeb APIはHTTPSでなくてもlocalhost上では開発用に利用できます。
「localhostだから何をしても安全」ではない
PC内で動くアプリや開発サーバーに脆弱性があれば問題になる可能性があります。不要なサービスを起動したままにせず、外部ネットワークへ意図せず公開していないかも確認してください。
localhostへ接続できない原因
Webサーバーが起動していない
Apache、Nginx、Node.jsなど、接続先となるサービスが停止していれば表示できません。
ポート番号が違う
アプリが3000番で待ち受けているのに、8000番へアクセスしても表示できません。
ポートが競合している
同じポートを別アプリがすでに使っていると、開発サーバーが起動できない場合があります。
アプリがエラーで停止している
PHPエラー、JavaScriptランタイムのエラー、データベース接続エラーなどでサーバー自体が停止している場合があります。
URLのhttp・httpsが違う
HTTPだけで起動しているサーバーへHTTPSで接続すると失敗する場合があります。
localhostが開かないときの確認順
共用レンタルサーバー利用者はlocalhostを覚える必要がある?
通常のWordPressブログや会社サイトを共用レンタルサーバーで運営するだけなら、localhostを日常的に使う必要はありません。
意味だけ知っていれば十分。ローカル検証を始めるときに使います。
開発環境・テスト環境で頻繁に使います。
ローカルサービスやポート確認などで理解しておくと便利です。
制作会社から「localhost」「ローカル環境」と言われたとき意味が分かれば十分です。
初心者が覚えておけばよいこと
最低限の5ポイント
- localhostは自分自身のPCを指す
- 外部サイトのURLではない
- Webサーバーが動いていないと表示できない
- ポート番号で接続先サービスを分ける
- ローカル環境と本番環境は同じではない
教科書判定
localhostは「自分のPC内にある開発用の入口」と理解すれば十分
普通のレンタルサーバー利用者がlocalhostを細かく設定する必要はありません。しかし、WordPressのローカル環境、Web開発、VPS、APIなどを扱うようになると頻繁に登場します。
初心者はまず、localhost=自分自身、ポート番号=その中のサービスの入口、本番サイトとは別環境という3点を押さえてください。
よくある質問
Q.localhostとは何ですか?
自分自身のコンピューターを指すための特別なホスト名です。Web開発では、自分のPC内で動かしているWebサーバーへアクセスするときによく使います。
Q.localhostと127.0.0.1は同じですか?
近い用途で使われますが、localhostはホスト名、127.0.0.1はIPv4アドレスです。localhostはIPv6のループバックへ解決される場合もあります。
Q.localhostのサイトを他人に見せられますか?
通常はそのままでは見せられません。相手がlocalhostへアクセスすると、相手自身の端末を指します。共有したい場合は公開用サーバーや共有用の仕組みが必要です。
Q.localhost:3000の3000は何ですか?
ポート番号です。1台のPC上で複数サービスを動かすとき、どのサービスへ接続するかを区別します。
Q.localhostが表示されません
Webサーバーが起動しているか、ポート番号が正しいか、httpとhttpsを間違えていないか、ターミナルやログにエラーがないかを順番に確認してください。
まとめ
localhostの要点
- localhostは自分自身のコンピューターを表す特別なホスト名
- ループバックアドレスへ解決される
- Web開発・WordPress検証・API開発などで使う
- localhost:3000などの数字はポート番号
- localhostのURLは通常、他人のPCからそのまま見られない
- localhostと127.0.0.1は同じ表記ではない
- 本番環境とローカル環境ではPHP・DB・OSなどが異なる場合がある
- 共用レンタルサーバー初心者は意味だけ理解すれば十分
「localhostと127.0.0.1の違いとは?」「ホスト名とは?ドメイン名との違いを解説」「ポート番号とは?80・443・22・25などを解説」もあわせて確認してください。