Опишите последовательность действий браузера после отправки HTTP-запроса.

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

Ответ

После нажатия Enter в адресной строке браузер выполняет сложную цепочку действий для получения и отображения страницы.

Пошаговый процесс:

  1. DNS-резолвинг: Браузер преобразует доменное имя (например, example.com) в IP-адрес сервера, запрашивая DNS-серверы.
  2. Установка TCP-соединения: С сервером устанавливается соединение по протоколу TCP с помощью «трёхстороннего рукопожатия» (SYN, SYN-ACK, ACK).
  3. TLS handshake (для HTTPS): Если используется HTTPS, происходит согласование параметров шифрования для установки безопасного соединения.
  4. Отправка HTTP-запроса: Браузер формирует и отправляет HTTP-запрос (GET, POST и т.д.) на полученный IP-адрес.
    GET /index.html HTTP/1.1
    Host: example.com
    User-Agent: Mozilla/5.0...
    Accept: text/html
  5. Обработка на сервере: Сервер (веб-сервер, бэкенд-приложение) обрабатывает запрос, генерирует ответ (HTML, JSON, изображение).
  6. Получение HTTP-ответа: Браузер получает ответ с статус-кодом (например, 200 OK), заголовками и телом ответа.
  7. Рендеринг: Браузер парсит HTML, строит DOM, загружает связанные ресурсы (CSS, JS, изображения), применяет стили, выполняет JavaScript и отрисовывает итоговую страницу.