DEVOPSLIB Telegram 84
🛠 Что происходит, когда вы вводите 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.1
Host: google.com
User-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
👍3



tgoop.com/devopslib/84
Create:
Last Update:

🛠 Что происходит, когда вы вводите 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.1
Host: google.com
User-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

BY Библиотека девопса | DevOps, SRE, Sysadmin


Share with your friend now:
tgoop.com/devopslib/84

View MORE
Open in Telegram


Telegram News

Date: |

Add the logo from your device. Adjust the visible area of your image. Congratulations! Now your Telegram channel has a face Click “Save”.! How to Create a Private or Public Channel on Telegram? The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: Telegram Channels requirements & features Invite up to 200 users from your contacts to join your channel
from us


Telegram Библиотека девопса | DevOps, SRE, Sysadmin
FROM American