«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Что происходит, когда вы вводите URL-адрес в браузере?

Что происходит, когда вы вводите URL-адрес в браузере?

Опубликовано 5 ноября 2024 г.
Просматривать:382

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

What Happens When You Type a URL Into a Browser?

Шаг 1. Ввод URL-адреса и его преобразование в IP-адрес

Путешествие начинается, когда вы вводите URL-адрес (например, www.example.com) в браузер. Первая задача браузера — преобразовать этот удобочитаемый URL-адрес в IP-адрес — числовой адрес сервера, на котором размещен веб-сайт. Этот перевод имеет решающее значение, поскольку, хотя мы используем доменные имена, компьютеры общаются, используя числовые адреса, такие как 192.0.2.1.

Чтобы найти IP-адрес, браузер проверяет несколько кешей, чтобы ускорить процесс:

  • Кэш браузера: сохраняет предыдущие IP-адреса, чтобы избежать повторного поиска.
  • Кэш операционной системы (ОС): если он не найден в кеше браузера, он проверяет кеш ОС.
  • Маршрутизатор или локальный кеш: браузер может проверять кеш маршрутизатора или кеш локальной сети.
  • Кэш интернет-провайдера: Наконец, ваш интернет-провайдер (ISP) хранит кеш IP-адресов.

Если ни один из этих кешей не содержит IP-адрес, браузер выполняет поиск в DNS (системе доменных имен).

Шаг 2. Поиск DNS и определение IP-адреса

Если IP-адрес не найден ни в одном кеше, браузер инициирует поиск DNS. Думайте о DNS как о телефонной книге в Интернете: она преобразует доменные имена в IP-адреса в несколько этапов:

  1. Рекурсивный поиск DNS: преобразователь DNS выполняет рекурсивные запросы к различным DNS-серверам, пока не найдет запрошенный IP-адрес.
  2. Корневой DNS-сервер: преобразователь сначала запрашивает корневой DNS-сервер, который направляет его на DNS-сервер TLD (домена верхнего уровня) (например, .com или .org).
  3. Авторитетный DNS-сервер: сервер TLD затем указывает на авторитетный DNS-сервер домена (например, example.com), который предоставляет правильный IP-адрес.

Имея эту информацию, ваш браузер может приступить к установлению соединения с веб-сервером.

Шаг 3. Установление TCP-соединения и HTTPS-рукопожатие

Как только ваш браузер получит IP-адрес, он отправит запрос HTTP (или HTTPS) для инициации связи с веб-сервером. Однако перед обменом какими-либо данными необходимо установить соединение TCP (протокол управления передачей) посредством процесса, известного как трехстороннее рукопожатие TCP:

  1. SYN: клиент отправляет сообщение SYN (синхронизация) для запроса соединения.
  2. SYN-ACK: сервер отвечает сообщением SYN-ACK (подтверждение синхронизации).
  3. ACK: наконец, клиент отправляет сообщение ACK (подтверждение) для установления соединения.

Если вы заходите на веб-сайт через HTTPS, происходит дополнительный шаг — рукопожатие SSL/TLS, которое гарантирует, что данные, которыми обмениваются ваш браузер и сервер, зашифрованы:

  1. Сервер отправляет свой открытый ключ в ваш браузер.
  2. Ваш браузер шифрует сеансовый ключ с помощью этого открытого ключа и отправляет его обратно.
  3. Сервер расшифровывает этот сеансовый ключ, используя свой закрытый ключ.
  4. Обе стороны используют этот сеансовый ключ для обеспечения безопасной связи в дальнейшем.

Шаг 4. Отправка HTTP-запроса

При установленном безопасном соединении ваш браузер отправляет HTTP-запрос для доступа к определенным ресурсам на сервере. Этот запрос включает в себя такую ​​информацию, как тип вашего браузера и страницу, к которой вы пытаетесь получить доступ. Вот как может выглядеть HTTP-запрос:


GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
Accept: text/html


Сервер обрабатывает этот запрос и готовится отправить обратно запрошенный ресурс.

Шаг 5. Сервер обрабатывает запрос и отправляет ответ

После обработки вашего запроса сервер генерирует HTTP-ответ, содержащий такие ресурсы, как HTML, CSS, JavaScript и изображения, необходимые для рендеринга страницы. В идеале этот ответ должен иметь код состояния 200 OK, указывающий, что все прошло гладко.

Вот пример того, как может выглядеть этот ответ:


HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 3485




Example Page


Welcome to Example.com!






Шаг 6. Отрисовка страницы

Как только ваш браузер получает этот ответ, он начинает отображать страницу, анализируя файлы HTML и CSS, одновременно выполняя любой код JavaScript, включенный в эти файлы. Этот процесс включает в себя создание объектной модели документа (DOM), которая показывает, как структурированы элементы на вашей веб-странице.

Механизм рендеринга рисует пиксели на экране на основе структуры DOM и примененных к ней стилей CSS.

Заключение

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

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

Дополнительная литература

Для тех, кто хочет углубить свои знания о том, как работают веб-технологии, или получить дополнительную техническую информацию:

  • Как работает DNS
  • Понимание TCP/IP
  • HTTPS-соединение

Изучая эти ресурсы, вы получите еще больше понимания того, как устроен наш цифровой мир!

Заявление о выпуске Эта статья воспроизводится по адресу: https://dev.to/wyan/what-happens-when-you-type-aurl-into-a-a-rowser-2mh2?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить его.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3