サーバー関連の勉強をしていると必ず誰もが目にするアドレス「127.0.0.1」
localhost(ループバック)の代わりとして使われることが多いです。
ですが、localhostの代わりとしか認識されておらず、いざ、localhostと何が違うの?
と言われれば意外と出てこないかもしれません。
この記事はそんな127.0.0.1について解説をしていく記事になります。
"127.0.0.1"とは?
127.0.0.1とは何なのか、端的に言うと、「自身のパソコンのIPアドレス」というものになります。本来ならばルーターなどの設定をする際には自身のIPアドレスをコマンドプロンプトなどで調べてURLに打ち込む必要があるのですが、127.0.0.1のIPアドレス(ip address)を使用することによって、自身のIPアドレスを調べる手間が省けます。
IPアドレスとは、自身のパソコンの住所のようなものです。
自分のIPアドレスと他人のIPアドレスは異なるもので設定されているので1人1人のIPアドレスは異なっています。
一般的に1つのホストに1つの特別なipアドレスが割り当て、提供されています。
カンマ位置が「127」「0」「0」「1」なのは、ip addressが0~255(=2進数の11111111)で表現されるためです。
「http //127.0.0.1」
先ほど軽く触れたように「127.0.0.1」とは自身のIPアドレスを指すもの
http://を頭につけることで自身のlocalhostに接続することができますが、httpをつけなくても自身のlocalhostにはアクセスすることはできます。下記のスクリーンショットはlocalhostと入力すれば表示されるサイトに127.0.0.1を打ち込んでアクセスした結果です。
localhostが使えない時に使用することが多いです。基本的な機能はlocalhostと同じというイメージで大丈夫です。
localhostにも127.0.0.1と同じ、”自分のIPアドレス”の意味があります。localhostについて詳しくは下で解説します。
IPアドレスの後ろにポート番号
IPアドレスの後ろにポート番号を付けて表現する場合があります。
127.0.0.1:8000
IPアドレスの後ろについている「:8000」数字はポート番号と呼ばれるものです。
IPアドレスがマンションだとすると、ポート番号はその住所の番地のようなものになります。
マンション(IPアドレス)の特定の部屋番号(ポート番号)を指定することで
部分的に許可、拒否を設定することが可能です。
ポート番号には番号ごとに意味があり、代表的なもので
・ポート番号 80 HTTP(Webに繋ぐ際に必要)
・ポート番号 110 POP3(メール受信に必要)
などの種類があります。
そのうえで、8000というポート番号は「IRDMI」という機能が登録されています。
「IRDMI」とは主に外国のサイトにアクセスなどする際に使用されているポート番号です。身近なものですと、appleのWeb サービス、iTunes Radio ストリームなどに使用をしているポート番号になります
ポート番号とは決められた番号にそれぞれに意味が登録されています。
もう少し分かりやすくすると、IPアドレスはマンションの住所で、ポート番号はそのマンションの部屋番号のようなものになります。
ポート番号が使用されていなければ、自分の好きなポート番号をIPアドレスに設定することができるのですが、先程記述した通り、ポート番号「8000」はすでに「irdm」という規格で登録がされているので、127.0.0.1にポート番号8000を設定したとしても接続することはできません。
127.0.0.1:8080
127.0.0.1:8080の場合もあります。末尾の「:8080」はポート番号です。「127 . 00 . 18080」「http 127 . 00 . 18080」「www 127 . 00 . 18080」のように誤記されることもありますが8080の前には「.」が入ります。
"127.0.0.1"と"自分自身のIPアドレス"は違う?
上で少し触れましたが"127.0.0.1"と"自分自身のIPアドレス"は違います。
ループバックアドレスで使用される"127.0.0.1"は、日本語でいう「私」のような役割を持つアドレスです。どのコンピュータで打ち込んでも、そのコンピュータのIPアドレスを指し示します。自分自身のIPアドレスを知らなくても使用できます。対して"自分自身のIPアドレス"とは、各コンピュータに割り振られた固有の番号になるので、具体的な数値が存在します。あなたのパソコンで"127.0.0.1"と打ち込むと示す機器は結果として"自分自身のIPアドレス"と一致するのですが、他の人が打ち込んだ"127.0.0.1"の示す機器は、あなたのIPアドレスとは一致しません。
自分自身のIPアドレスは以下のサイトで確認できます。
https://www.cman.jp/network/support/go_access.cgi
"127.0.0.1"と"0.0.0.0"の違い
IPアドレス「127.0.0.1」と同じようにあげらる「0.0.0.0」というIPアドレスがあります。
この2つのIPアドレスの違いは下記になります。
<127.0.0.1>
・自身のみがアクセスできるIPアドレスなので自身でサーバーを作った際にwebに公開する前にページにアクセスできるかのテストをする際に使われることが多い。
・127.0.0.1はlocalhostのことを指すのでネットワークに繋げたとしても他のユーザーからはアクセスすることができない。
・ループバックアドレスとしても使用される。
<0.0.0.0>
・「ローカルマシン上の全てのIPv4アドレス」という性質を持ち、どのIPアドレスからでもアクセスすることが出来る。
・0.0.0.0は自分以外の誰でもアクセスすることができるので、ネットワークに接続すれば他のユーザもアクセスすることができる。
・ループバックアドレスとしては使用できない。
ループバックアドレスとは?
127.0.0.1のアドレスは別名ループバックアドレスとも呼ばれます。
ループバックアドレスとは自分を示すアドレスのことです。
ループバックアドレスにアクセスすると自身のパソコンのlocalhostにアクセスすることになります。localhostとは主にサーバーのテストなどの際に使用されるアドレスです。
例えば自分のアドレスが「192.168.0.0」だとすると、ループバックアドレスを使用することで「192.168.0.0」にアクセスすることができます。
代表的なループバックアドレスとして「127.0.0.1」になります。「0.0.0.0」はループバックアドレスではありません。
ローカルホスト
先ほどから話の中に出てきているlocalhostというのは自身のIPアドレスのことを指します。ループバックアドレスと何が違うのかというと、IPアドレスを入力する必要がなく、ただ「localhost(読み:ローカルホスト)」と入力するだけで自身のコンピューターにアクセスすることが可能になります。
ローカルホストと127.0.0.1の違いは以下でも解説しています。
ループバックアドレスのメリットって何?
ループバックアドレスとは端的に言うと、自分自身を指すアドレスです。
使用するメリットとして、自身のパソコンの中に共有サーバーを作成したが公開する前にテストを行いたいが、ネットワークにはまだ繋ぎたくない。Webでホームページを作ったが、ネットワークに公開する前にテストを行いたい。
という場合にループバックアドレスを使用することでネットワークに繋がずに、自分のパソコン内だけで確認ができます。
ループバックアドレスを使用することにより、共有サーバーや、Webページのテストを行うことができます。
まとめ
127.0.0.1とは自身のパソコンを指すアドレスのことである。別名ループバックアドレスとも呼ばれる。localhostとは名称が違うだけで機能的な違いはない。
主な使用用途はサーバー構築した際、ネットにつなぐ前のテスト段階として使用される。