Основы выполнения запроса в интернете

Основы выполнения запроса в интернете

Введение

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

Что происходит, когда ты вводишь URL

Рассмотрим шаги на примере открытия https://example.com/products:

Шаг 1: DNS-разрешение

Браузер не знает, где находится example.com. Он обращается к DNS-серверу (Domain Name System) — аналог телефонной книги интернета.

example.com → 93.184.216.34 (IP-адрес)

DNS преобразует доменное имя в IP-адрес, по которому можно найти сервер.

Шаг 2: TCP-соединение

Браузер устанавливает соединение с сервером по IP-адресу через протокол TCP. Происходит "тройное рукопожатие":

  1. Клиент → Сервер: SYN (хочу подключиться)
  2. Сервер → Клиент: SYN-ACK (принял, готов)
  3. Клиент → Сервер: ACK (подтверждаю)

Шаг 3: HTTPS-рукопожатие (TLS)

Для защищённого соединения браузер и сервер согласовывают шифрование. Браузер проверяет SSL-сертификат сервера.

Шаг 4: Отправка HTTP-запроса

Браузер отправляет запрос:

GET /products HTTP/1.1
Host: example.com
User-Agent: Chrome/120
Accept: text/html

Шаг 5: Сервер обрабатывает запрос

Сервер получает запрос, выполняет логику (может обратиться к БД), формирует ответ.

Шаг 6: HTTP-ответ

Сервер отвечает:

HTTP/1.1 200 OK
Content-Type: text/html
...
<html>...</html>

Шаг 7: Браузер рендерит страницу

Браузер получает HTML, строит DOM, применяет CSS, выполняет JavaScript.

Шаг 8: Дополнительные запросы

Браузер делает отдельные запросы за ресурсами: картинки, шрифты, CSS-файлы, JS-файлы, API-вызовы.

DNS и IP-адреса

ПонятиеОписаниеПример
IP-адресЧисловой адрес сервера93.184.216.34
ДоменЧитаемое имя сайтаexample.com
DNSСлужба перевода домена в IP
TTLВремя кэширования DNS-записи3600 секунд

Важно для тестировщика: DNS кэшируется! После смены IP-адреса сайта изменения распространяются по DNS не мгновенно (от нескольких минут до 48 часов). Это называется DNS propagation.

Коды HTTP-ответов

КодЗначениеЧто искать
200OK — всё хорошо
301/302Redirect — перенаправлениеБесконечный редирект?
400Bad Request — неверный запрос клиентаНеправильные параметры
401Unauthorized — нужна авторизацияНе передан токен
403Forbidden — доступ запрещёнНет прав
404Not Found — ресурс не найденНеверный URL
500Internal Server Error — ошибка сервераБаг на бэкенде
503Service Unavailable — сервис недоступенСервер перегружен

Почему это важно для тестирования

  • Задержка (latency): каждый шаг добавляет время. DNS-проблемы → долгий первый байт ответа
  • Ошибки на разных шагах: ошибка DNS — сайт "не найден"; ошибка TLS — предупреждение о сертификате; ошибка 500 — проблема на сервере
  • Дополнительные запросы: страница может выглядеть загруженной, но некоторые данные ещё грузятся (API-запросы на вкладке Network)

Частые ошибки понимания

  • ❌ "Если страница открылась, значит все запросы прошли успешно" → HTML мог загрузиться, а API-запрос за данными — упасть с 500
  • ❌ "DNS — это раз и навсегда" → DNS-записи кэшируются и могут устаревать
  • ❌ "HTTP и HTTPS — одно и то же" → HTTPS шифрует данные, важно для авторизации и личных данных

Что мы запомним

  • При открытии URL браузер выполняет 8 шагов: DNS → TCP → TLS → запрос → обработка → ответ → рендеринг → доп. запросы
  • DNS — это "телефонная книга интернета", переводит домены в IP-адреса
  • HTTP-коды ответов — важный инструмент диагностики: 4xx — ошибка клиента, 5xx — ошибка сервера
  • Страница может выглядеть загруженной, но данные с API ещё не пришли — проверяй вкладку Network

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике