curl google.com?На первый взгляд — просто запрос в браузер через терминал. Но давайте разложим по полочкам, как работает магия под капотом:
1. DNS-резолвинг
curl сначала узнаёт IP-адрес для google.com. Для этого он обращается к системному резолверу, который опрашивает DNS-сервер (например, 8.8.8.8).2. Установление TCP-соединения
Как только IP получен,
curl инициирует TCP Handshake (SYN → SYN-ACK → ACK) на порт 80 (или 443 для HTTPS).3. TLS Handshake (если HTTPS)
Если вы не указали
http://, curl по умолчанию стучится по HTTPS (порт 443). Тогда идёт обмен сертификатами, проверка CA, установка сессионных ключей.4. Отправка HTTP-запроса
После установления соединения
curl отправляет HTTP-запрос вида:GET / HTTP/1.1Host: google.comUser-Agent: curl/7.79.1...
5. Получение ответа
Google возвращает HTTP-ответ (200 OK, 301 Redirect и т.д.) и тело страницы, если оно есть.
6. Закрытие соединения
curl может держать соединение открытым или закрыть его в зависимости от заголовков (Connection: keep-alive / close).🧠 Это базовый сценарий. Но вы можете добавить
-v для отладки, --resolve для подмены DNS, --http2 для тестов HTTP/2, и кучу всего ещё.Используете
curl только для запросов? Пора качнуть скилл: тест API, дебаг прокси, TLS-тесты, даже работа с SOCKS5 — это всё в арсенале curl.Подпишись 👉@devopslib