Menu
Coddy logo textTech

Анализ ошибки

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

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

  • Имя не разрешилось. Сбой происходит сразу, ещё до любого соединения. Проверь с помощью lookup.
  • Никто не прослушивает порт. Соединение немедленно отклоняется, код выхода curl — 7.
  • Трафик отбрасывается. Запрос зависает, а затем завершается с кодом 28.
  • Порт не поддерживает TLS. Код выхода — 35.
  • Соединение установлено успешно. Теперь проверь код состояния: 4xx — проблема в твоём запросе, 5xx — на их стороне.

Две из этих ситуаций различаются по длительности сбоя, поэтому определить, произошёл ли сбой мгновенно или запрос завис, важнее, чем любое сообщение об ошибке.

Двигайся снизу вверх по стеку: имя, затем компьютер, затем порт, затем сервис, затем ответ.

challenge icon

Задание

Эксперт

Создайте три разных сбоя и обозначьте каждый его кодом выхода.

Когда сервер нигде не запущен, выведите:

  1. refused: и код для http://127.0.0.1:9999/
  2. dropped: и код для http://10.255.255.1/ с ограничением в 2 секунды
  3. notls: и код для https://127.0.0.1:9999/

Ожидаемый вывод:

refused: 7
dropped: 28
notls: 7

Над третьим стоит задуматься: когда вообще никто не прослушивает соединение, оно отклоняется ещё до того, как предпринимается попытка установить TLS.

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

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

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

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

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