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

Введение
- Что касается этого проекта. Я собираюсь поговорить о том, «Что происходит, когда вы вводите URL-адрес в браузере и нажимаете Enter?»
- Это один из вопросов, которые интервьюируемому могут задать в ходе интервью.
- Неудивительно, что большинство людей не знают, что на самом деле происходит за поиском, который они делают в своем браузере. Но это не исключение для инженеров-программистов, которые, как и я, стремятся работать лучше и меняют мир к лучшему. Мы должны иметь четкое представление об этой концепции.
- Для тех, кто пытается понять концепцию. Я здесь, чтобы помочь вам понять точно и по делу. Ниже приведены шаги, позволяющие отображать веб-страницы в вашем веб-браузере всякий раз, когда вы запрашиваете их, добавляя URL-адрес в свой браузер и подсказывая Enter:
ШАГ 1: DNS-запрос
Когда мы выполняем поиск в веб-браузере. Прежде всего, URL-адрес, который мы вводим, должен быть преобразован в IP-адрес. Если случается, что мы делали несколько поисков иногда назад. Веб-браузер проверит свои кеши, если в нем есть какая-либо запись введенного нами URL-адреса.
Если он не найден, браузер выполняет системный вызов для проверки записи URL-адреса в файле хоста. В Linux он находится в /etc/host.
Если запись еще не найдена, веб-браузер отправляет этот запрос преобразователю DNS, которым в нашем случае является интернет-провайдер, чтобы проверить наличие записи A в своих кешах.
Если для этого запроса не найдена запись DNS, которая соответствует URL-адресу, то в дело вступает система доменных имен (DNS).
Интернет-провайдер инициирует запрос к DNS-серверам для поиска IP-адреса URL-адреса.
Сначала запрос отправляется на корневой сервер. Запись A для нашего URL-адреса ищется в базах данных.
Если он еще не найден, корневой сервер возвращает DNS Resolver (ISP) доменное имя (например, holbertonschool.com), которое необходимо разрешить. Это сопровождается IP-адресом для сервера имен доменов верхнего уровня, который является сервером имен .com.
Если TLD не может сопоставить URL-адрес со своим IP-адресом, то предпринимается следующий шаг. И это последний. Сервер имен отвечает распознавателю, возвращая ему сделанный им запрос и IP-адрес авторитетного сервера имен.
Авторитетный сервер имен — это последний этап поиска DNS. Этот сервер имен знает все о доменных именах и их IP-адресах. Проще говоря, это окончательный орган.
Поэтому полномочный сервер имен преобразует URL-адрес в IP-адрес и отвечает распознавателю DNS (ISP) URL-адресом плюс свой IP-адрес.
Иногда это происходит. не закончить таким образом. Например, URL-адрес не может быть преобразован в IP-адрес. Вместо этого в веб-браузер отправляется ошибка.
И это все для поиска DNS.
Теперь, когда наш веб-браузер имеет необходимый IP-адрес, он может использовать его для установления интернет-соединения с соответствующим веб-сервером.
ШАГ 2: TCP/IP
Веб-браузер инициирует TCP-соединение. Затем TCP устанавливает это соединение в трехстороннем рукопожатии. Этот пункт настолько интересен тем, что и веб-браузер, и веб-сервер выбирают один и тот же начальный номер. Веб-браузер отправляет сообщение синхронизации (SYN) на веб-сервер. Это сообщение является исходным порядковым номером, который он выбирает. Точно так же веб-сервер отправляет браузеру порядковый номер синхронизации и подтверждения. Чтобы соединение было полностью установлено, оба они должны подтвердить эти сообщения, увеличив исходные порядковые номера, отправленные другой стороной. После подтверждения устанавливается TCP-соединение.
Есть несколько других протоколов, которые можно использовать для установления такого соединения. Примером такого протокола является протокол пользовательских дейтаграмм (UDP), который работает аналогично TCP, но этот протокол быстрее, чем TCP, и снижает качество данных. Это означает, что некоторые данные могут быть потеряны при передаче по сети.
Возвращаемся к TCP. На языке непрофессионала я могу назвать протокол TCP дорогой к определенному месту назначения, например, от вашего дома до магазина/супермаркета, где вы обычно делаете покупки. На самом деле дорога — это транспортное средство, и есть много других форм, но для нашего случая я решил использовать в качестве примера дорогу.
И теперь, когда установлено соединение между веб-клиентом (веб-браузером) и веб сервер. Веб-клиент (веб-браузер/браузер) должен сделать следующее.
Теперь веб-клиент отправляет запрос HTTPS на веб-сервер. Кроме того, этот HTTPS-запрос можно назвать сетевым трафиком.
Следовательно, этот трафик необходимо отслеживать и тщательно проверять, является ли он действительным, прежде чем разрешить переход к веб-серверу или запретить переход. И это делается брандмауэром, как описано ниже:
ШАГ 3: Брандмауэр
Как я уже сказал выше, Брандмауэр можно назвать сетевым устройством, которое используется для мониторинга входящего и исходящего сетевого трафика. В нашем случае HTTPS-запрос — это сетевой трафик. Это необходимо проверить, прежде чем разрешить доступ к веб-серверу.
ШАГ 4: HTTPS/SSL
Помните, что с самого начала, когда запрос перемещался из веб-браузера на веб-сервер, он был зашифрован в целях безопасности, поэтому его передача очень безопасна. в сети. Для этого он использовал протокол HTTPS, который отвечает за безопасность установленного соединения.
SSL — это просто аббревиатура от Secure Sockets Layer, и его работа заключается в шифровании данных в запросе для предотвращения злонамеренных атак со стороны хакеров. Поэтому SSL обычно использует протокол HTTPS, чтобы обеспечить очень безопасное установленное соединение.
Просто добавим HTTPS. HTTPS — это просто улучшенная версия протокола HTTP, обеспечивающая безопасное подключение к Интернету.
Теперь запрос HTTPS необходимо распространить на веб-сервер. Балансировщик нагрузки берет на себя эту ответственность.
ШАГ 5. Балансировщик нагрузки
Балансировщик нагрузки — это устройство, которое действует как обратный прокси-сервер и распределяет сетевой трафик и трафик приложений между несколькими серверами.
Обратный прокси-сервер означает, что сервер находится перед веб-сервером и перенаправляет запрос веб-клиента (веб-браузера). к этим веб-серверам.
Балансировка нагрузки в основном реализуется для повышения эффективности безопасности путем сокрытия IP-адреса клиента и использования другого прокси-сервера с обратным IP-адресом. Это будет похоже на сокрытие идентификатора сервера от веб-сервера. То же самое относится и к веб-серверу.
ШАГ 6. Веб-сервер
Веб-сервер может быть одним из следующих: Nginx (произносится как «Engine X»), Apache и Internet Information Services (IIS).
Теперь веб-сервер получает HTTPS-запрос от балансировщика нагрузки и передает его. обработчику запросов, который считывает и возвращает ответы. Обработчик запросов — это программа, которая обрабатывает запрос и формирует ответ в формате HTML. Ответ может быть не только в формате HTML, но и в других форматах, таких как JSON.
После этого сервер отправил ответ веб-клиенту (веб-браузеру) с запрошенной веб-страницей и другой информацией, например статусом. код. Код может быть одним из следующих пяти кодов статусов:
- 1xx: Информационное
— означает, что запрос получен и процесс продолжается. - 2xx: Success
— означает, что действие было успешно получено, понято и принято. - 3xx: перенаправление
— это означает, что необходимо предпринять дополнительные действия для выполнения запроса. - 4xx: Ошибка клиента
— это означает, что запрос содержит неправильный синтаксис или не может быть выполнен. - 5xx: Ошибка сервера
. Это означает, что серверу не удалось выполнить явно допустимый запрос.
Теперь HTML-файл отображается в браузере. В основном этот файл связан с другими файлами, такими как изображения, CSS и Javascript, что удивительно, файл HTML не поставляется с ними сразу. Поэтому браузер должен отправить запрос GET в зависимости от тегов HTML в файле, чтобы получить необходимые файлы CSS, а затем JavaScript. Теперь страница полностью отображается в веб-клиенте (веб-браузере) и готова к использованию.
ШАГ 7. Сервер приложений
- Сервер сервера приложений также может обслуживать доставку контента, который представляет собой веб-страницы, но его основная роль заключается в обеспечении взаимодействия между веб-клиентом (веб-браузером) и кодом приложения на стороне сервера, который может использоваться для создания и доставки динамического контента из базы данных.
ШАГ 8. База данных
- Здесь приложение хранит свою структурированную информацию.
И это означает конец.
Пожалуйста, не забудьте оставить комментарий ниже. Спасибо.
Подробнее:
Что такое SSL Коды статусов HTTPS Что такое Reverse Proxy Load-Balancer Firewall Как устанавливается соединение TCP/IP