はじめに
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
じゃないと他の端末からの接続ができないかもしれません。