75
Help us understand the problem. What are the problem?

posted at

updated at

localhost:3000とは何か

はじめに

Ruby on Rails 初学者に向けた情報をざっくりベースで書いてます。

localhost:3000とは

Ruby on Railsを学んでいると、rails server実行後にlocalhost:3000  をブラウザのurl欄に入力し、
serverの立ち上がりを確認する場面があると思います。

このlocalhost:3000とは何を意味しているのでしょうか?
これはアクセスしに行く宛先を表しています。

「:」の左側はIPレイヤ、右側はTCP/UDPレイヤ(port)の宛先を表しています。
つまり「localhost:3000」を翻訳すると、
自分の(PCの)IPの3000番port宛にアクセスしてくれ」という意味になります。

「自分のIP」を指定するのにはlocalhost以外にも表現があり、
「127.0.0.1:3000」「0.0.0.0:3000」でも同様になります。
127.0.0.1や0.0.0.0は「自分のIP」を意味する特殊なIPアドレスです。

実IPでアクセス

「自分のIP」を指定すれば良いということは、PCが無線LANに接続している時に取得している実際のIPアドレスでも同様となります。
(MACの場合、ターミナルでifconfigを打つと、en0: のインターフェイスに記載があります)

例えば192.168.11.2を取得しているの場合、「192.168.11.2:3000」でも同様ということです。

他の端末からアクセス

192.168.11.2:3000 にアクセスしろ」という命令で自分のPCからアプリケーションが見れるという事は、
192.168.11.2にアクセスできる(同じ無線LANに接続している)他の端末からでも同様に見れる ということです。
(一般の家庭用無線LANであれば接続可能です)

他の端末からのアクセスの方が、
Server - Client 間の通信をより実感できるかもしれません。

補足

Railsのversionによるかもしれませんが、サーバーを立ち上げる時、-bオプションをして
rails s -b 0.0.0.0
じゃないと他の端末からの接続ができないかもしれません。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
75
Help us understand the problem. What are the problem?