Опиши основные этапы загрузки веб-страницы в браузере.

«Опиши основные этапы загрузки веб-страницы в браузере.» — вопрос из категории Архитектура, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Процесс загрузки страницы — это последовательность сетевых и вычислительных операций:

  1. DNS-запрос (DNS Lookup): Браузер преобразует доменное имя (например, example.com) в IP-адрес сервера.
  2. Установка TCP-соединения (TCP Handshake): Происходит «рукопожатие» по протоколу TCP (SYNSYN-ACKACK) для установки надежного канала связи.
  3. Установка безопасного соединения (TLS Handshake): Для HTTPS клиент и сервер договариваются о ключах шифрования.
  4. Отправка HTTP-запроса: Браузер отправляет HTTP-запрос (например, GET) на сервер.
    GET /index.html HTTP/1.1
    Host: example.com
    User-Agent: Mozilla/5.0
  5. Обработка запроса сервером: Сервер (бэкенд, база данных) формирует ответ.
  6. Получение HTTP-ответа: Сервер возвращает данные (HTML, статус-код, заголовки).

    HTTP/1.1 200 OK
    Content-Type: text/html
    
    <!DOCTYPE html><html>...</html>
  7. Парсинг и рендеринг в браузере:
    • Построение DOM-дерева из HTML.
    • Построение CSSOM-дерева из CSS.
    • Объединение DOM и CSSOM в дерево рендеринга (Render Tree).
    • Расчет макета (Layout) и отрисовка пикселей (Paint).

Ключевой момент: Браузер может параллельно загружать ресурсы (CSS, JS, изображения), но выполнение JavaScript часто блокирует парсинг HTML.