Перейти к содержимому
Skip to content
← Все статьи

Полный жизненный цикл HTTP-запроса: от URL до отрендеренной страницы

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

Шаг 1: Парсинг URL

Браузер разбирает URL на компоненты:

https://www.example.com:443/path/page?query=value#section
│       │                │   │         │           │
схема   хост             порт путь     параметры   фрагмент

Браузер проверяет: это URL или поисковый запрос? Без схемы — добавит https://. Без проверку портов — по умолчанию (443 для SSL/TLS проверку, 80 для HTTP).

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

Браузер преобразует имя хоста в IP геолокацию:

  1. Кеш браузера: недавно разрешённые домены
  2. Кеш ОС: системный DNS-кеш
  3. Файл hosts: /etc/hosts
  4. Кеш роутера: локальный роутер может кешировать DNS
  5. Резолвер ISP: запрос к DNS-резолверу (ISP, Google 8.8.8.8, Cloudflare 1.1.1.1)
  6. Рекурсивное разрешение: Root → TLD → Авторитативный NS

Типичное время: 1-100 мс (кеш) или 20-200 мс (холодный кеш).

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

Браузер устанавливает TCP-соединение через тройное рукопожатие:

  1. SYN: клиент отправляет пакет синхронизации
  2. SYN-ACK: сервер подтверждает и отправляет свой SYN
  3. ACK: клиент подтверждает — соединение установлено

Занимает один полный RTT. При задержке 50 мс — 50 мс только на хендшейк.

Шаг 4: TLS-хендшейк

Для HTTPS — дополнительное рукопожатие для шифрования:

  1. Client Hello: версии TLS, cipher suites, случайное число
  2. Server Hello: выбранный cipher, сертификат, случайное число
  3. Проверка сертификата: клиент проверяет цепочку доверия
  4. Обмен ключами: обе стороны вычисляют общий сессионный ключ
  5. Завершение: подтверждение активного шифрования

TLS 1.2 — 2 RTT. TLS 1.3 — 1 RTT (и 0-RTT для повторных соединений).

Шаг 5: HTTP-запрос

GET /path/page?query=value HTTP/2
Host: www.example.com
User-Agent: Mozilla/5.0 ...
Accept: text/html,application/xhtml+xml
Accept-Encoding: gzip, br
Cookie: session=abc123

Шаг 6: Обработка на сервере

  1. Веб-сервер: Nginx/Apache принимает запрос
  2. Реверс-прокси: может передать на application server
  3. Приложение: маршрутизация, бизнес-логика, запросы к БД
  4. База данных: выполнение запросов
  5. Генерация ответа: приложение строит HTML/JSON
  6. Сжатие: gzip/Brotli

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

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Content-Encoding: br
Cache-Control: max-age=3600
Content-Length: 45231

Шаг 8: Рендеринг в браузере

  1. Парсинг HTML: построение DOM-дерева
  2. Парсинг CSS: построение CSSOM-дерева
  3. Выполнение JS: может блокировать рендеринг
  4. Render tree: объединение DOM + CSSOM
  5. Layout: вычисление позиций и размеров
  6. Paint: отрисовка пикселей
  7. Composite: компоновка слоёв в финальное изображение

Оптимизация на каждом шаге

Заключение

Каждый HTTP-запрос проходит DNS, TCP, TLS, обработку на сервере и рендеринг — каждый шаг добавляет задержку. Понимание этого цикла — ключ к диагностике «почему сайт медленный?» и точечной оптимизации.

Проверьте ваш сайт прямо сейчас

Проверить →
Другие статьи: HTTP
HTTP
HTTP/2 vs HTTP/3: что нового и зачем переходить
14.03.2026 · 14 просм.
HTTP
HTTP/2 и HTTP/3: чем отличаются и что быстрее
13.03.2026 · 15 просм.
HTTP
Server-Sent Events vs WebSockets: выбор технологии реального времени
16.03.2026 · 11 просм.
HTTP
Анализ серверных заголовков ответа: что они говорят о сайте
11.03.2026 · 15 просм.