Цель этой статьи — просто объяснить, что происходит, когда вы вводите URL-адрес и нажимаете клавишу ВВОД.

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

Я бы объяснил это так:

1. Вы вводите URL-адрес в веб-браузер
2. Браузер ищет IP-адрес доменного имени через DNS
3. Браузер отправляет HTTPS-запрос на сервер
4. Сервер отправляет ответ HTTPS
5. Браузер начинает визуализацию HTML
6. Браузер отправляет запросы на дополнительные объекты, встроенные в HTML (изображения, CSS, JavaScript), и повторяет шаги 3–5.< br /> 7. После загрузки страницы браузер по мере необходимости отправляет дополнительные асинхронные запросы.

ШАГ 1:

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

ШАГ 2:

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

Для этого он должен перевести доменное имя в вашем URL-адресе в IP-адрес соответствующего сервера. В то время как URL-адрес — это удобочитаемый адрес чего-либо, IP-адрес — это число, соответствующее фактическому местонахождению конкретного компьютера в Интернете (строка чисел, разделенных точками. Каждое число в наборе может находиться в диапазоне от 0 до 255). ).

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

ШАГ 3:

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

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

Процесс отправки запроса на веб-сервер

1. Клиентская машина отправляет пакет SYN на сервер через Интернет, запрашивая, открыт ли он для новых подключений.

2. Если у сервера есть открытые порты, которые могут принимать и инициировать новые соединения, он ответит ACKnowledgment пакета SYN, используя пакет SYN/ACK.

3. Клиент получит пакет SYN/ACK от сервера и подтвердит его отправкой пакета ACK.

Затем устанавливается TCP-соединение для передачи данных!

ШАГ 4:

Сервер содержит веб-сервер (например, Apache, IIS), который получает запрос от браузера и передает его обработчику запросов для чтения и генерации ответа. Обработчик запроса — это программа (написанная на ASP.NET, PHP, Ruby и т. д.), которая считывает запрос, его заголовки и файлы cookie, чтобы проверить, что запрашивается, а также при необходимости обновить информацию на сервере. Затем он соберет ответ в определенном формате (JSON, XML, HTML).

Ответ сервера содержит запрошенную вами веб-страницу, а также код состояния, тип сжатия (Content-Encoding), способ кэширования страницы (Cache-Control), любые файлы cookie, которые необходимо установить, информацию о конфиденциальности и т. д.

Обычно при подключении к веб-сайту вы используете HTTPS вместо HTTP. Это не другой протокол, а HTTP со слоем шифрования на нем.
HTTPS добавляет еще один протокол — TLS, или, как его часто называют, SSL — процесс, который можно использовать для данные, отправленные и полученные между веб-сервером и веб-браузером, секретны для всех, кроме них. TLS/SSL делает это путем шифрования данных, что означает кодирование данных с использованием секретного шифра.

TLS/SSL использует шифрование с открытым ключом, в котором используется сложная математика, так что обе стороны связи могут шифровать данные, которые другая может расшифровать, даже не обменявшись своими шифрами друг с другом.

Когда вы вводите URL-адрес в своем браузере, и он использует «HTTPS» в качестве протокола, ваш браузер и сервер также выполняют протокол для установления безопасного соединения с использованием TLS/SSL.

Наконец, когда соединение TCP, соединение HTTP и соединение HTTPS установлено, ваш браузер получит данные с веб-сервера, расположенного по введенному вами адресу. Если это веб-страница, эти данные будут в формате HTML (язык гипертекстовой разметки), формате данных, специфичном для Интернета. На многих веб-сайтах HTML также ссылается на определенные внешние ресурсы для завершения страницы, которую вы видите при загрузке веб-страницы. Таблица стилей или CSS. Это способ хранения всей информации о цветах, шрифтах, фоновых изображениях и т. д., которая может применяться ко всем веб-страницам на конкретном веб-сайте, отдельно от данных для конкретных веб-страниц.

Хотя это кажется утомительным длительным процессом. Надеюсь, это руководство поможет вам лучше понять, что происходит «под капотом», когда вы вводите URL-адрес в браузере, и как работает URL-адрес веб-сайтов, которые вы регулярно посещаете.