こう 聞かれます
- 「IP アドレスと
ポート番号の 違いを 説明してください」 - 「
localhost:3000の 3000 は何ですか」 - 「1 台の
サーバーで Web と データベースを 動かすと、 届いた 通信を どう 分けていますか」 (仕組みを 裏から聞く形)
面接官が 見ている点
- 「どの機械か」と
「その機械の どの プログラムか」の 2 段を 分けて話せるか - 80 や 443 のような
よく 使う 番号を、 場面と 結んで言えるか - 開発で
毎日見ている 物 (localhost の 番号、 つながらない ときの 表示) と結べるか
短い答え
- IP アドレスは、
ネットワークの 上で 機械を 見分ける 住所です。 - ポート番号は、
その機械の 中で、 どの プログラムに 届けるかを 決める 番号です。 建物の 住所と 部屋の 番号に たとえられます。 - たとえば Web の
サーバーは、 HTTP なら 80 番、 HTTPS なら 443 番で 待つのが 決まりで、 ブラウザは IP アドレスと ポート番号の 組で 相手を 指します。
少し 詳しい答え
IP アドレス
IPv4 は 192.0.2.10 のように 4 つの
家や
ポート番号
ポート番号は 0 から 65535 までの
- 80 は HTTP、
443 は HTTPS、 22 は SSH のように、 よく 使う 番号が 決まっています - 開発では
localhost:3000やlocalhost:5173のように、空いている 番号で サーバーを立てます
URL でhttp なら 80、https なら 443 が
作った
よく ある間違い
- IP アドレスと
ポート番号を 同じ物の 言い 換えだと思う IP アドレスは 機械、 ポート番号は その中の プログラムを 指します。 組で 1 つの 宛先になります - 「IP アドレスが
分かれば つながる」と言う 機械まで 届いても、 待っている プログラムの 番号が 違えば つながりません。 サーバーが 動いているのに 開けない ときは、 番号の 食い 違いも疑います localhostをインターネットの 上の どこかだと思う localhostは自分の 機械 その ものを 指す名前です。 ほかの 人の パソコンからは 開けません
深掘りの問い
- 「同じ
ポート番号を 2 つの プログラムで 使えますか」 ふつうは 後から 使おうとした方が 失敗します。 開発で 「既に使われている」と 出るのは この ため、と答えます - 「サーバーの
ポートを 外から 閉じておくのは なぜですか」 開いている 番号は 外からの 入り口に なるので、 使う物だけを 開ける、と答えます - 「IPv4 と IPv6 の
違いは 何ですか」 長さが 違い、 IPv6 は 数が ずっと 多い、と答えます