По порядку Middle Сеть в Linux обновлено

Путь HTTP-запроса

Вопрос

Расставь по порядку, что происходит, когда curl https://api.example.com/health выполняется на Linux-машине.

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

Расставьте шаги по порядку стрелками.

  1. 1
    Выбор маршрута и интерфейса по таблице маршрутов
  2. 2
    TCP-рукопожатие SYN, SYN-ACK, ACK с портом 443
  3. 3
    Отправка HTTP-запроса и получение ответа
  4. 4
    TLS-рукопожатие и проверка сертификата
  5. 5
    Резолвинг имени: /etc/hosts, затем DNS через /etc/resolv.conf
Показать ответ и разбор

Коротко

Сначала нужен IP-адрес, затем ядро выбирает маршрут, потом устанавливается TCP-соединение, поверх него TLS, и только затем HTTP. Каждый шаг виден в curl -v, а время каждого этапа даёт -w с timenamelookup, timeconnect, timeappconnect.

Правильный порядок

  1. 1
    Резолвинг имени: /etc/hosts, затем DNS через /etc/resolv.conf
  2. 2
    Выбор маршрута и интерфейса по таблице маршрутов
  3. 3
    TCP-рукопожатие SYN, SYN-ACK, ACK с портом 443
  4. 4
    TLS-рукопожатие и проверка сертификата
  5. 5
    Отправка HTTP-запроса и получение ответа

Разбор

Сначала нужен IP-адрес, затем ядро выбирает маршрут, потом устанавливается TCP-соединение, поверх него TLS, и только затем HTTP. Каждый шаг виден в curl -v, а время каждого этапа даёт -w с time_namelookup, time_connect, time_appconnect.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.