Просто о сложном: как ваш браузер находит дорогу в интернете

Просто о сложном: как ваш браузер находит дорогу в интернете

Вы вводите адрес сайта. Через секунду видите страницу. Что происходит в эту секунду? Браузер выполняет сложную работу, которую мы разложим на этапы. Это не магия, а четкий алгоритм.

Преобразование адреса

Браузер не понимает словесные адреса. Ему нужны цифры. Ваш запрос к сайту начинается с обращения к системе доменных имен. Вы сообщаете браузеру доменное имя, а он должен выяснить, какой IP-адрес ему соответствует.

Представьте себе телефонный справочник, где именам сопоставлены номера телефонов. Только этот справочник распределен по всему миру. Ваш браузер сначала проверяет локальный кэш. Не найдя ответа, он отправляет запрос резолверу, обычно предоставляемому вашим провайдером. Если и резолвер не знает ответа, он начинает рекурсивный опрос корневых серверов, затем серверов доменов верхнего уровня и, наконец, авторитативных серверов для нужного домена. В результате вы получаете точный IP-адрес.

Установление соединения

Браузер получил IP-адрес. Теперь нужно доставить туда запрос. На этом этапе в игру вступают протоколы TCP и IP. Ваш компьютер отправляет пакеты данных по маршруту, который определяют маршрутизаторы. Каждый пакет независимо движется к цели, проходя через несколько узлов.

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

Защита передачи данных

Большинство современных сайтов используют защищенное соединение. После установки TCP начинается процесс TLS-рукопожатия. Браузер и сервер договариваются о параметрах шифрования, обмениваются сертификатами, проверяют их подлинность и генерируют общие сеансовые ключи. Весь дальнейший обмен информацией будет зашифрован. Вы видите значок замка в адресной строке — это результат успешного завершения данной процедуры.

Формирование и отправка запроса

Соединение установлено и защищено. Браузер формирует HTTP-запрос. Этот запрос содержит метод, заголовки и другую служебную информацию. Самый распространенный метод — GET, который означает запрос на получение данных.

Просто о сложном: как ваш браузер находит дорогу в интернете

Сервер принимает этот запрос, обрабатывает его и формирует ответ. Ответ включает статусный код, например, 200 OK, заголовки и непосредственно тело запроса. В случае успеха телом ответа будет HTML-код запрашиваемой страницы.

Обработка контента

Браузер получает HTML. Это не готовая страница, а ее каркас. Начинается процесс парсинга. Браузер читает HTML, строит дерево элементов. Когда встречает ссылки на дополнительные ресурсы, такие как CSS, изображения или JavaScript, он снова обращается к серверу для их загрузки.

CSS формирует правила визуального представления, а JavaScript добавляет интерактивность. Браузер совмещает все это, выполняя макет, компоновку и отрисовку. В итоге на экране появляется готовая веб-страница. Весь этот многоступенчатый путь занимает меньше секунды.

Начать дискуссию