Что такое URL: из чего состоит адрес сайта и что означает каждая его часть
Разбираем адрес страницы по частям: протокол, домен, порт, путь, параметры и якорь. Объясняем, чем URL отличается от домена и ссылки, что такое xn-- в кириллических адресах и как по адресу отличить настоящий сайт от подделки.
URL (Uniform Resource Locator, «единый указатель ресурса») — это полный адрес страницы или файла в интернете. Он говорит браузеру, каким способом подключаться, к какому серверу обращаться и какой именно документ запросить. Домен — только одна из частей URL, а ссылка — это кнопка или текст, за которыми URL спрятан.
Слово «URL» читается как «ю-ар-эл», в разговоре его часто заменяют на «адрес страницы» или «URL-адрес». Это одно и то же: когда спрашивают, что такое URL, имеют в виду строку из адресной строки браузера. Каждая страница, картинка и файл в интернете имеют свой URL, поэтому у одного сайта адресов тысячи, а домен — один.
Из чего состоит URL: структура адреса по частям
URL состоит из семи частей, и обязательны только две: протокол и домен. Остальные появляются по необходимости. Возьмём учебный адрес и разберём его слева направо. Зона .example зарезервирована для примеров, настоящих сайтов в ней нет.
Разбор адреса по частям. Ниже — как браузер хранит кириллический домен в виде xn--…
https://www.site.example:443/catalog/shoes?color=red#top
| Часть адреса | Как называется | За что отвечает |
|---|---|---|
| https:// | Протокол (схема) | Способ связи с сервером. HTTPS — с шифрованием, HTTP — без него |
| www. | Поддомен | Раздел или отдельный сервис внутри домена. Может отсутствовать |
| site | Домен (имя второго уровня) | Имя сайта, которое владелец регистрирует и продлевает |
| .example | Доменная зона | Окончание адреса: .ru, .рф, .com. Задаёт правила регистрации |
| :443 | Порт | «Дверь» на сервере. Для HTTPS это 443, для HTTP — 80, их не пишут |
| /catalog/shoes | Путь | Какую страницу или файл на сайте нужно открыть |
| ?color=red | Параметры (строка запроса) | Уточнения для сервера: фильтр, номер страницы, метка рекламы |
| #top | Якорь (фрагмент) | Место внутри страницы, к которому браузер прокрутит. На сервер не отправляется |
Из таблицы важно вынести одно: порт 443 в адресе можно не писать, браузер подставит его сам, а якорь после решётки сервер вообще не видит. Дальше пройдём по частям подробнее.
Что означает протокол в начале адреса
Протокол — это правила, по которым браузер и сервер обмениваются данными. Для сайтов их два: HTTP (протокол передачи гипертекста) и HTTPS — тот же HTTP, но с шифрованием.
Разница практическая. По HTTP данные идут открытым текстом: пароль или номер карты по дороге может прочитать любой, кто стоит между вами и сервером. По HTTPS данные шифруются. Поэтому Chrome помечает HTTP-сайты словами «Подключение не защищено», а Яндекс Браузер показывает предупреждение «Используется незащищённый протокол HTTP». Проверить сайт просто: если адрес начинается с https://, соединение зашифровано.
В адресной строке протокол часто не виден. Chrome и Яндекс Браузер по умолчанию прячут «https://» и «www.», показывая только домен. Полный адрес появляется, если кликнуть в строку или скопировать её содержимое.
Где в адресе домен, поддомен и доменная зона
Домен читают справа налево: сначала зона, потом имя, потом поддомены. В адресе shop.site.ru зона — .ru, домен — site.ru, поддомен — shop.
Зону выбирают при регистрации: .ru и .рф выдают российские регистраторы, .com — международные. Домен второго уровня — это то, что вы покупаете и продлеваете раз в год; если срок пропустить, сайт перестанет открываться. Что происходит с просроченным доменом, разобрано в статье о домене и сроках его действия.
Поддомены владелец создаёт сам, бесплатно и в любом количестве: blog.site.ru, mail.site.ru, shop.site.ru. Технически это отдельные адреса, которые могут вести на разные серверы. Знаменитый www — тоже поддомен, исторический: сегодня www.site.ru и site.ru обычно ведут на одну страницу, но с точки зрения адреса это два разных хоста. Когда лучше завести поддомен, а когда папку внутри сайта, мы сравнивали в материале «Поддомен или папка».
Зачем нужны порт, путь, параметры и якорь
Эти четыре части уточняют, что именно открыть на сервере. Обычный пользователь видит из них только путь и параметры.
Порт — номер «двери» на сервере. У HTTPS стандартный порт 443, у HTTP — 80; браузер подставляет их автоматически, поэтому :443 в адресе никто не пишет. Порт появляется в адресе, только если сервис работает на нестандартной двери, например панель управления на :8443.
Путь — часть после домена до знака вопроса: /catalog/shoes. Когда-то путь совпадал с папками на сервере, сегодня это просто имя страницы, которое сайт понимает по своим правилам. Путь чувствителен к регистру: Google считает /Catalog и /catalog разными адресами. Домен, наоборот, регистр не различает.
Параметры начинаются после знака вопроса и разделяются амперсандом: ?color=red&size=42. Так сайт передаёт серверу фильтры каталога, номер страницы или рекламные метки вида utm_source. Один и тот же путь с разными параметрами — формально разные URL, поэтому лишние параметры порождают дубли страниц.
Якорь — всё после решётки: #top, #faq. Он нужен только браузеру, чтобы прокрутить страницу к нужному разделу или перемотать видео на нужную секунду. Сервер якорь не получает, и на то, какая страница откроется, он не влияет.
Чем URL отличается от домена и от ссылки
Домен — имя сайта, URL — полный адрес конкретной страницы на нём, а ссылка — элемент на странице, за которым URL спрятан. Эти три слова путают чаще всего, хотя они описывают разные вещи.
| Термин | Что это | Пример | Сколько у сайта |
|---|---|---|---|
| Домен | Зарегистрированное имя сайта | site.ru | Один (плюс поддомены) |
| URL | Полный адрес страницы или файла | https://site.ru/catalog/shoes | Столько, сколько страниц и файлов |
| Ссылка | Текст или кнопка, ведущие на URL | «Смотреть каталог» | Сколько угодно, в том числе на чужие URL |
Ключевое следствие: текст ссылки и её URL — разные вещи. Надпись «sberbank.ru» может вести куда угодно; настоящий адрес виден, если навести курсор на ссылку на компьютере или удерживать её палец на телефоне. Ниже это пригодится в разговоре о подделках.
Из той же разницы вытекает и правило для мониторинга: сервису, который следит за сайтом, задают не домен, а URL. Проверка отправляет HTTP-запрос по конкретному адресу и смотрит, какой код ответа вернул сервер, — как это устроено, описано в справке о GET-проверке страницы.
Почему «красивый» URL лучше набора символов
Читаемый адрес вида /catalog/zimnie-botinki понятнее человеку и поисковику, чем /index.php?id=4821&cat=17. Google в рекомендациях по структуре URL прямо советует использовать слова вместо длинных номеров и разделять их дефисом, а не подчёркиванием.
Человеку читаемый адрес помогает понять, куда он попал, ещё до загрузки страницы, и заметить подмену. Поисковику — понять, о чём страница. Есть и обратная сторона: русские буквы в пути браузер при копировании превращает в проценты. Путь /каталог в скопированной ссылке выглядит как /%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3. Это не ошибка, а кодировка, но такую ссылку неудобно вставлять в письмо или мессенджер, поэтому пути сайтов принято писать латиницей.
| Признак | Удобно | Неудобно |
|---|---|---|
| Слова в пути | /dostavka | /page.php?id=17 |
| Разделитель | /zimnie-botinki | /zimnie_botinki |
| Регистр | /catalog | /Catalog и /catalog вперемешку |
| Алфавит | /katalog | /%D0%BA%D0%B0%D1%82… |
Как устроены кириллические домены и что такое xn--
Кириллический домен вроде пример.рф хранится в системе доменных имён в латинской записи: xn--e1afmkfd.xn--p1ai. Такая запись называется Punycode, а сами домены на национальных алфавитах — IDN (Internationalized Domain Names, интернационализированные доменные имена).
Причина в том, что система доменных имён понимает только латинские буквы, цифры и дефис. Поэтому каждый кириллический домен получает латинского «двойника» с префиксом xn--. Зона .рф целиком — это xn--p1ai. Перевод туда и обратно делает браузер: вы вводите пример.рф, он запрашивает xn--e1afmkfd.xn--p1ai и показывает вам снова кириллицу.
Отсюда типичная неожиданность владельцев таких сайтов: в скопированной ссылке, в письме или в статистике адрес выглядит как набор xn--. Это тот же самый домен, просто в служебной записи. Ещё один момент: почта на кириллическом домене поддерживается не всеми сервисами, поэтому для ящиков обычно регистрируют и латинский вариант.
Как по адресу понять, что сайт настоящий
Смотрите на домен второго уровня и зону, а не на начало адреса. Настоящий владелец адреса — тот, чьё имя стоит непосредственно перед зоной: в sberbank.ru.login-check.example настоящим доменом является login-check.example, а «sberbank.ru» — всего лишь поддомен, который мошенник создал бесплатно.
Второй приём подделки — замена букв: латинская «о» на ноль, «l» на «I», а в кириллических доменах — русская «а» вместо латинской. Третий — символ @ в адресе: всё, что стоит до @, браузер считает именем пользователя и игнорирует, поэтому https://sberbank.ru@evil.example откроет evil.example. Как проверять такие адреса по шагам и куда смотреть в браузере, разобрано в отдельной статье о том, как распознать поддельный сайт.
Главная страница может открываться, а корзина, форма заявки или страница оплаты — нет. Поэтому на мониторинг ставят конкретные адреса, и важные страницы проверяют по отдельности. Пруфен с интервалом от 2 минут открывает указанный URL из 20 городов и пишет вам в Email, Telegram или Макс, если страница перестала открываться; как именно отправлять запрос — метод, заголовки, ожидаемый код ответа — задаётся в настройках HTTP-проверки. Бесплатный план — 5 проверок.
- URL — полный адрес страницы; домен — только имя сайта внутри него.
- Обязательны две части: протокол и домен. Остальное — по необходимости.
- HTTPS шифрует данные, HTTP — нет. Порт 443 и 80 браузер подставляет сам.
- Домен читают справа налево: зона, имя, поддомен. Владельца определяет имя перед зоной.
- Якорь после # сервер не видит; параметры после ? — видит.
- Путь чувствителен к регистру, домен — нет.
- xn-- в адресе — кириллический домен в служебной записи, это не ошибка.
- Текст ссылки и её адрес — разные вещи; настоящий адрес виден при наведении.
Частые вопросы
Обязательно ли писать www в адресе? Нет. www — обычный поддомен, оставшийся с ранних лет интернета. Большинство сайтов настроены так, что site.ru и www.site.ru открывают одну и ту же страницу, а один из вариантов перенаправляет на другой. Если сайт открывается только с www или только без, это ошибка настройки, а не особенность адреса.
Почему в адресной строке не видно https:// и полного адреса? Браузеры сокращают адрес ради читаемости: Chrome и Яндекс Браузер по умолчанию показывают домен и путь, пряча протокол и www. Состояние соединения при этом выносится в значок слева от адреса: у Chrome это подписи «Подключение защищено» или «Подключение не защищено». Полный URL появляется при клике в строку.
Что значат %D0%BA и другие проценты в ссылке? Это русские буквы и другие символы вне латиницы, записанные в служебном виде: каждый байт заменён на знак процента и две шестнадцатеричные цифры. Браузер показывает такие адреса нормально, а при копировании отдаёт закодированный вариант. Ссылка при этом рабочая, просто выглядит непривычно.
URL и URI — это одно и то же? Не совсем. URI — общее название любого идентификатора ресурса, а URL — его разновидность, которая указывает не только имя, но и способ добраться до ресурса: протокол и адрес сервера. Все адреса сайтов — это URL, и в повседневной речи термин URI почти не нужен.
Меняется ли URL, если сайт переехал на другой хостинг? Нет, если домен остался прежним. URL привязан к домену, а не к серверу: за доменом можно закрепить любой IP-адрес, и адреса страниц продолжат работать. Меняются адреса только при смене домена или переделке структуры сайта — тогда со старых URL настраивают перенаправления.