• браузер
  • url
  • процесс
  • служба доменных имен
  • DNS
  • IP-адрес

Как браузер обрабатывает ввод URL в адресной строке?

Когда мы открываем определенный URL в браузере, как браузер загружает и отображает содержимое? Мы показываем, что сделал браузер поочередно, в соответствии с последовательностью событий.

Darcy Ye
Darcy Ye
Developer

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

Пользователь вводит URL в браузере

В нашем предыдущем блог-посте мы рассмотрели компоненты URL, включая то, что известно как хост/домен, например, www.google.com, blog.logto.io и т.д.

Поиск IP-адреса с использованием хоста/домена

Браузер не может напрямую понимать хост/домен и находить соответствующие ресурсы, вместо этого ему нужно узнать конкретный IP-адрес, чтобы определить местоположение ресурсов, необходимых для веб-страниц.

Браузер найдет IP-адрес, соответствующий хосту/домену, через систему доменных имен (DNS).

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

Когда поиск в кеше не находит результата, мы проходим через обычный процесс поиска DNS, чтобы найти IP-адрес хоста/домена. Вот эти шаги:

  1. Когда пользователь вводит blog.logto.io в веб-браузере, веб-браузер запрашивает DNS-сервис, чтобы получить IP-адрес, соответствующий запросу от DNS-резолвера
  2. DNS-резолвер отправляет запрос к корневому серверу DNS (.)
  3. Корневой сервер возвращает адрес, соответствующий DNS-серверу верхнего уровня (TLD) (.io в данном случае) и некоторую связанную информацию
  4. DNS-резолвер отправляет запрос к серверу TLD .io
  5. Сервер TLD .io отвечает адресом сервера имен logto.io
  6. DNS-резолвер запрашивает сервер имен домена logto.io
  7. Сервер имен домена logto.io отвечает адресом blog.logto.io
  8. DNS-резолвер пересылает IP-адрес blog.logto.io обратно веб-браузеру

Затем веб-браузер может запросить соответствующие ресурсы с сервера и отобразить веб-страницу для просмотра пользователем.

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

После получения IP-адреса, соответствующего адресу домена, через DNS сервис, браузер инициирует и устанавливает TCP-соединение с сервером.

Получение ресурсов и отображение веб-страниц

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