Menu
Coddy logo textTech

ポートとは

Coddyの「ターミナルで学ぶネットワーク」コースのレッスン 10/47。

アドレスは、リクエストを正しいマシンに届けます。しかし、1台のマシンでウェブサイト、データベース、メールサーバーが同時に動作していることがあります。リクエストがそのうちのどれに向けられたものなのかを示す何かが必要です。

それがポートです。1から65535までの数値で、プログラムを選びます。アドレスが建物なら、ポートはドアです。

URLでは、ポートはコロンの後に続きます。

curl -s http://127.0.0.1:9104/hello.txt
#                        ^^^^ ポート

アドレスとポートを組み合わせると、通信の一方の端を識別でき、その組み合わせはソケットと呼ばれます。サーバーが「9104でソケットを開いた」と聞いたら、まさにこの組み合わせを意味します。

1台のマシン上の2つのプログラムが同じポートで同時に待ち受けることはできません。これが、すべての開発者がいずれ遭遇するエラー、つまりアドレスはすでに使用されていますの原因です。

challenge icon

チャレンジ

難しい

ポートがプログラムを選択することを、1台のマシン上で2つのサーバーを実行して証明します。

  1. 2つのフォルダー、abを作成します
  2. それぞれにファイルi.txtを配置します:aにはAAAbにはBBB
  3. aをポート9104で、bをポート9105で提供します
  4. 各ポートからi.txtを取得します。9104を先にします

同じアドレス、同じファイル名、異なるドア:

AAA
BBB

(cd a && python3 -m http.server 9104 &)は、現在いるフォルダーを変更せずに、1つのフォルダー用のサーバーを起動します。

自分で試してみよう

ターミナル
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ターミナルで学ぶネットワークのすべてのレッスン

自分で練習してみよう: Terminalプレイグラウンド