Что происходит, когда мы вводим google.com в браузер?

«Что происходит, когда мы вводим google.com в браузер?» — вопрос из категории Сети, который задают на 24% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

С точки зрения DevOps, процесс выглядит как цепочка сетевых и системных взаимодействий:

  1. DNS-резолвинг: Браузер проверяет кеш (локальный, ОС, роутер). Если записи нет, отправляет рекурсивный запрос к DNS-серверу провайдера, который последовательно опрашивает корневые, TLD (com) и авторитативные серверы, чтобы получить IP-адрес для google.com.
  2. Установка TCP-соединения: Операционная система инициирует TCP 3-way handshake (SYN → SYN-ACK → ACK) с полученным IP-адресом на порт 443 (HTTPS).
  3. TLS handshake: Клиент и сервер согласовывают параметры шифрования, сервер предъявляет SSL/TLS сертификат, который клиент проверяет (срок действия, цепочка доверия). Устанавливается защищенный канал.
  4. HTTP-запрос: Браузер отправляет HTTP/2 или HTTP/3 (QUIC) запрос, например GET / HTTP/2 с заголовками (Host: google.com, User-Agent).
  5. Обработка на стороне Google: Запрос попадает на балансировщик нагрузки (GSLB), который направляет его в ближайший дата-центр. Там запрос проходит через фронтенд-серверы, бэкенд-сервисы, возможно, кешируется в CDN. Формируется HTTP-ответ (статус 200 OK, HTML-тело).
  6. Рендеринг: Браузер парсит HTML, загружает связанные ресурсы (CSS, JS, изображения), выполняя для каждого новые DNS-запросы и соединения (часто с использованием HTTP/2 multiplexing).

DevOps-аспекты: Этот процесс зависит от корректности DNS-зон, работы балансировщиков, TLS-терминации, CDN, мониторинга и отказоустойчивости каждого звена.