Рекламная кампания для нового роскошного веб-сервиса привлекает ваше внимание. Вы разблокируете свой телефон, выбираете свой любимый интернет-браузер и вводите URL-адрес, который вы можете запомнить. Через секунду или несколько (в зависимости от вашего оператора сотовой связи) — вуаля, у вас на глазах появилась свежая веб-страница!

Это старая история (или, по крайней мере, конец 1990-х), но можете ли вы объяснить, как функционирует этот важный компонент — url-адрес? Если вы хотите стать веб-разработчиком, это очень простая концепция, которую вы должны знать. Давайте погрузимся…

Что такое URL?

URL является аббревиатурой от Uniform Resource Locator. Как следует из названия, url детализирует конкретное местоположение для уникального ресурса в Интернете и служит инструментом, который браузеры используют для извлечения любого опубликованного ресурса в этом месте. url-адреса обычно сравнивают с уличным адресом, причем каждый раздел URL-адреса служит отдельным фрагментом адреса и представляет различную информацию. Давайте посмотрим на этот пример url и разберем его по частям:

https://lazerg.ru:443/hello-world?ref=article&from=desktop#browser

Схема

http:// — Это схема, которая определяет протокол, который браузер должен использовать для запроса данных по URL (протоколы — это правила отправки данных через Интернет). Существует много схем, но http (без SSL) наиболее распространен наряду с https (с SSL), защищенной версией протокола HTTP, используемого для конфиденциальных данных. Двоеточие: разделитель схемы и косая черта // устанавливают начало доменного имени.

Доменное имя

www.lazerg.ru — это доменное имя (также называемое хостом), которое указывает на предполагаемый хост или веб-сервер, который запрашивается. Каждый компонент имени хоста, разделенный точкой, является доменом. Справа (.ru) — суффикс домена или домен верхнего уровня, а домен слева (www.) — домен или поддомен второго уровня. Доменные суффиксы сильно различаются и включают в себя .org, .net и региональные суффиксы, такие как .gov.au.

Порт

:80 — это порт, который указывает шлюз, используемый для доступа к ресурсам на предполагаемом веб-сервере. Когда браузер связывается с сервером, он может использовать хорошо известный номер порта. Хорошо известные номера портов назначаются интернет-протоколам. Например, стандартный порт для HTTP — 80 (HTTPS — 443). Когда используются стандартные порты, эта часть URL обычно пропускается (учитывая общность HTTP, это часто имеет место). В противном случае порт должен быть включен. Двоеточие здесь также действует как разделитель.

Путь

/hello-world — это путь, который указывает путь к конкретному ресурсу на сервере, к которому браузер хочет получить доступ. «/» служит разделителем для поддержки иерархического синтаксиса URL.

Строка запроса

?ref=article — это строка запроса, которая всегда начинается со знака вопроса ? затем один или несколько параметров, чтобы сервер мог возвращать определенный контент. Параметры представляют собой пары ключ/значение (ref=article), разделенные символом «&» (&form=desktop). Каждый веб-сервер обрабатывает параметры в соответствии со своими уникальными правилами.

Якор

#browser это называется якорем, также известным как идентификатор фрагмента, который всегда начинается с хеша #, за которым следует текст. Этот раздел представляет определенное местоположение на веб-странице, на которую будет перенаправлен пользователь, как будто «привязывая» адрес. Если адрес извлекает HTML-страницу, идентификатор фрагмента может указывать на подраздел страницы, используя соответствующий идентификатор этого подраздела.

Собираем все вместе

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

scheme://domain:port/path?query=string#anchor

Существуют и другие части и другие правила для url-адресов, но эти компоненты url-адресов вы будете видеть чаще всего и должны быть готовы объяснить. Теперь иди на ту собеседование!

About the Author

Ergashev Lazizbek

Добрый день, дорогие мои читатели, позвольте мне рассказать вам немного о себе. Я Лазизбек Эргашев, я веб-разработчик из Узбекистана. В основном я использую laravel/php для бэкэнда и vuejs/javascript для фронтэнда. Основная цель моего блога - поделиться с вами своим опытом и знаниями.

View All Articles