Найти в Дзене
Креативный дизайн

От URL до HTTP-ответа: как работает веб-серфинг за кулисами

Всякий раз, когда вы вводите адрес в строку браузера и нажимаете на "Enter", браузер начинает выполнять множество операций, которые большинство из нас воспринимают как само собой разумеющееся. Но давайте заглянем за кулисы и рассмотрим ключевые процессы, которые помогают вашему браузеру представить вам запрашиваемую веб-страницу. Сначала браузер разбирает URL (Uniform Resource Locator), чтобы понять, какой ресурс вы хотите получить. После ввода в адресной строке браузера адреса и нажатия клавиши ввода, браузер начинает парсить url, который мы ввели. URL — это адрес ресурса в сети. Uniform Resource Locator (url) переводится как унифицированный локатор ресурса, и это адрес искомого ресурса в сети Интернет. Он состоит из нескольких компонентов, включая протокол (например, http:// или https://) и доменное имя. Протокол указывает, каким образом должен быть осуществлен запрос, в то время как доменное имя ведет нас к ресурсу — веб-странице или файлу. Из протокола извлекается Uniform Resource
Оглавление

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

Парсинг URL

Сначала браузер разбирает URL (Uniform Resource Locator), чтобы понять, какой ресурс вы хотите получить. После ввода в адресной строке браузера адреса и нажатия клавиши ввода, браузер начинает парсить url, который мы ввели.

URL — это адрес ресурса в сети.

Uniform Resource Locator (url) переводится как унифицированный локатор ресурса, и это адрес искомого ресурса в сети Интернет. Он состоит из нескольких компонентов, включая протокол (например, http:// или https://) и доменное имя.

Протокол указывает, каким образом должен быть осуществлен запрос, в то время как доменное имя ведет нас к ресурсу — веб-странице или файлу. Из протокола извлекается Uniform Resource Locator и по нему запрашивается искомый ресурс.

Разрешение доменного имени

После того как браузер распознал доменное имя, следующим шагом становится получение IP-адреса сервера, на котором находится запрашиваемый ресурс. Здесь начинает свою работу система доменных имен DNS (Domain Name System), которая сравнивает доменные имена с их IP-адресами. Этот систематический процесс, который называется DNS Lookup.

Все ip адреса находятся в базе Domain Name System (DNS).

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

Рекурсивный поиск — это неоднократный поиск от DNS сервера к DNS серверу. Результатом будет, либо найденный ip адрес, либо возврат уведомления об ошибке, что он не смог его найти.

Примеры IP-адресов:

Адреса IPv4: 192.168.0.1, 135.17.245.3. Они состоят из четырёх десятичных чисел, разделённых точками.

Адреса IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334, 1091:5db7:45a6:0012:0c00:8a2e:53a1:2443. Они записываются в виде восьми групп по четыре шестнадцатеричных цифры, разделённых двоеточиями.

ip адреса являются истинными адресами сайтов. Но для удобства работы пользователям они были заменены на названия и имена. Имена сайтов легче запомнить, чем ip адреса, которые запомнить невозможно.

Роль TCP в передаче данных

Основной транспортный протокол, используемый в интернете для передачи данных, — это TCP (Transmission Control Protocol). Протокол TCP был разработан в 1974 году и остается одним из основных стандартов передачи данных. Он обеспечивает надежную передачу данных между клиентом и сервером, гарантируя целостность и последовательность получаемых данных. Перед началом обмена данными TCP выполняет процедуру, известную как "трехстороннее рукопожатие" (three-way handshake), что помогает установить устойчивое и надежное соединение.

Названия сайтов созданы для удобства пользователей, а вся работа по соединению с сервером происходит с помощью ip адресов.

Запомнить все ip адреса каждого сайта невозможно, а вот запомнить название сайта удобно для пользователей. Поиск ip адреса закрепляется за DNS.

Запросы к DNS серверам содержат в себе небольшие пакеты данных, и включают в себя: адрес-ссылку запрашиваемого ресурса и ip адрес, куда нужно будет вернуть ответ.

Весь процесс поиска ip адреса по имени сайта называется DNS Lookup.

Процедура передачи данных

После установления надежного соединения через протокол TCP начинается передача данных с использованием протокола HTTP (Hypertext Transfer Protocol). Сервер обрабатывает запрос клиента и отправляет ответ, используемый браузером для отображения веб-страницы.

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

TCP (англ. Transmission Control Protocol — протокол управления передачей) — один из основных протоколов передачи данных интернета.

В стеке протоколов TCP/IP выполняет функции транспортного уровня модели OSI.

Механизм TCP предоставляет собой поток данных с предварительной установкой соединения, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета, гарантируя тем самым (в отличие от UDP) целостность передаваемых данных и уведомление отправителя о результатах передачи.

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

Числовые значения при обмене числовой последовательностью выбираются случайным образом на обеих сторонах Клиента и Сервера для обеспечения безопасности.

Этапы обмена данными между Клиентом и Сервером: синхронизация, подтверждение сервера, процедура handshake (хендшейка). После чего наблюдается стойкое соединение и только после этого начинается реальный обмен данными.

При каждом соединении каждый раз осуществляется процедура хендшейка.

Данные отправляются по специальному протоколу HTTP. По специальному протоколу мы и получаем ответ от сервера.

Заключение

Хотя для пользователя веб-серфинг может казаться простым процессом, за кулисами происходит множество сложных операций и взаимодействий между различными элементами сети. Знание того, как взаимодействуют URL, DNS, TCP и HTTP, помогает лучше понять магию интернета и оценивает важную роль инжиниринга в каждом аспекте этого процесса.

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

Полезные ресурсы:

Креативный дизайн | Дзен

Сообщество дизайнеров в VK

https://vk.com/grafantonkozlov

Телеграмм канал сообщества

https://t.me/grafantonkozlov

Архив эксклюзивного контента

https://boosty.to/antonkzv

Канал на Дзен

https://dzen.ru/grafantonkozlov

---------------------------------------

Бесплатный Хостинг и доменное имя

https://tilda.cc/?r=4159746

Мощная и надежная нейронная сеть Gerwin AI

https://t.me/GerwinPromoBot?start=referrer_3CKSERJX

GPTs — плагины и ассистенты для ChatGPT на русском языке

https://gptunnel.ru/?ref=Anton

---------------------------------------

Донат для автора блога

dzen.ru/grafantonkozlov?donate=true