Menu
Coddy logo textTech

Что такое порт

Урок 10 из 47 курса Сетевое взаимодействие в терминале на Coddy.

Адрес направляет ваш запрос к нужной машине. Но на одной машине одновременно могут работать веб-сайт, база данных и почтовый сервер. Что-то должно указывать, для кого из них предназначен запрос.

Это порт: число от 1 до 65535, которое выбирает программу. Адрес — это здание, а порт — дверь.

В URL он находится после двоеточия:

curl -s http://127.0.0.1:9104/hello.txt
#                        ^^^^ порт

Адрес и порт вместе идентифицируют один конец соединения, и такая пара называется сокетом. Когда вы слышите, что сервер «открыл сокет на 9104», это означает именно такое сочетание.

Две программы на одной машине не могут одновременно прослушивать один и тот же порт, из-за чего возникает ошибка, с которой в конце концов сталкивается каждый разработчик: address already in use.

challenge icon

Задание

Сложно

Докажите, что порт выбирает программу, запустив два сервера на одной машине.

  1. Создайте две папки: a и b
  2. Поместите в каждую файл i.txt: AAA в a, BBB в b
  3. Обслуживайте a на порту 9104, а b — на порту 9105
  4. Получите i.txt с каждого порта, сначала с 9104

Тот же адрес, то же имя файла, другая дверь:

AAA
BBB

(cd a && python3 -m http.server 9104 &) запускает сервер для одной папки, не меняя папку, в которой вы находитесь.

Попробуйте сами

Терминал
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Сетевое взаимодействие в терминале

Потренируйтесь самостоятельно: Песочница Terminal