Клиенты и серверы
Урок 2 из 47 курса Сетевое взаимодействие в терминале на Coddy.
В каждом взаимодействии одна сторона начинает разговор, а другая ждёт его начала. Сторона, которая задаёт вопрос, — это клиент. Сторона, которая ждёт и отвечает, — это сервер.
Это роли, а не устройства. Один и тот же компьютер является сервером, когда отвечает на веб-запрос, и через секунду — клиентом, когда обращается к базе данных. Ваш ноутбук обычно является клиентом, но в тот момент, когда вы запускаете локальный сервер разработки, он также становится сервером.
Сервер делает нечто конкретное и немного странное: он запускается, а затем ждёт, ничего не делая, иногда неделями. Он слушает. Когда наконец поступает запрос, он отвечает и возвращается к ожиданию.
Клиент должен знать, куда отправить свой запрос, а сервер должен слушать в правильном месте, чтобы запрос до него дошёл. В этом и заключается всё рукопожатие, и когда что-то не работает, почти всегда проблема связана с одной из этих двух сторон.
Задание
ЛегкоПереведите сервер в состояние прослушивания, затем проверьте, действительно ли он ожидает подключений.
- Запустите сервер на порту 9102 в фоновом режиме
- Дайте ему секунду для запуска
- Проверьте порт с помощью
nc -zи выведитеlistening, если что-то отвечает, илиnothing, если нет
Ожидаемый вывод:
listening
command && echo a || echo bвыводитa, когда команда выполняется успешно, иb, когда она завершается с ошибкой.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Сетевое взаимодействие в терминале
3Порты и сокеты
Что такое портХорошо известные портыЛокальный хостПрослушивание и подключениеПовторение: порты6curl в деталях
Просмотр заголовковСохранение ответовПользовательские заголовкиСтатус и время выполненияКоды выхода curlПовторение: флаги curl9Аутентификация и отладка
API-ключи и BearerUser-AgentТайм-ауты и повторные попыткиАнализ ошибкиПовторение: отладкаПотренируйтесь самостоятельно: Песочница Terminal