ウェルノウンポート
Coddyの「ターミナルで学ぶネットワーク」コースのレッスン 11/47。
ポートが単なる数字なら、ブラウザーはどのポートを使えばよいとどうやって知るのでしょうか?それは慣例によってです。いくつかの番号は、誰もが共通して使うものとして合意されています。
- 22:SSH、リモートシェルアクセス
- 53:DNS、前の章で扱った名前解決
- 80:HTTP
- 443:HTTPS
そのため、ポートをまったく指定せずにアドレスを入力できます。http://は、別途指定しない限りポート80を意味し、https://は443を意味します。http://example.com:80と書くのは、すでに暗黙に想定されていたことを明示しているだけです。
これらは規則ではなく、慣例です。Webサーバーを8080番ポートで実行することを妨げるものはありませんし、実際にそうしているサーバーはたくさんあります。
本当の制限が1つあります。通常、1024未満のポートで待ち受けるには管理者権限が必要です。そのため、開発サーバーでは8080や3000のような番号を使います。特別な権限が必要ないからです。
チャレンジ
難しいこれらの慣例は、単なる言い伝えではありません。マシン自体の /etc/services に記録されています。
ssh のポートエントリ、続いて https のポートエントリを表示し、それぞれの行の第2列を取得します。
22/tcp
443/tcp
^で検索対象の先頭を固定し、sshが単にそれを含むだけの名前にも一致しないようにします。また、head -1で最初の一致だけを残します。
自分で試してみよう
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ターミナルで学ぶネットワークのすべてのレッスン
自分で練習してみよう: Terminalプレイグラウンド