Что такое URL? Его виды, форматы и рекомендации по созданию
Знакомство с каждой веб-страницей начинается с адреса в строке браузера. Простой, информативный и логичный URL легче воспринимается пользователями. Это положительно влияет на позицию сайта в поисковой выдаче, увеличивает узнаваемость компании и трафик. А значит, правильный выбор URL-адреса позволяет без особых затрат увеличить прибыль.
Редакция MC.today разобралась, что такое URL, как его правильно генерировать, и какие рекомендации при работе с ним следует учитывать.
Содержание
- Что такое URL
- История URL адреса
- Структура URL адреса
- Виды URL
- Форматы URL
- Кириллические URL и URL-шифрование
- Человекопонятные URL
- Рекомендации по созданию URL
Что такое URL
URL – это адрес любого ресурса во Всемирной паутине: сайта, веб-страницы, видео, документа или файла для загрузки. Аббревиатура расшифровывается, как Uniform Resource Locator, или «всеобщий указатель ресурсов». Зная этот код, пользователь может открыть нужный ему сайт, найти файл или поделиться с кем-нибудь ссылкой.
Простыми словами, URL позволяет узнать, где хранятся нужные вам данные. В качестве аналогии можно представить покупателя, который хочет найти в супермаркете полку с, к примеру, синими носками. Администратор опишет ему точный путь: секцию, отдел, ряд, место в ряду, номер полки. Так и URL описывает путь к серверу в Сети, папке на сервере, где лежит искомая страница, а иногда даже к конкретному абзацу на этой странице.
Определить URl-адрес веб-страницы просто – достаточно посмотреть на адресную строку браузера. Например, адрес страницы, которую вы читаете, выглядит так: https://mc.today/chto-takoe-url/. Если вам нужно его скопировать, нажмите на значок «Поделиться этой страницей» и выберите в выпадающем меню пункт «Копировать ссылку».
История URL адреса
В 1989 году программист международного центра высоких энергий в Женеве Тим Бернерс-Ли предложил проект Всемирной паутины, или World Wide Web. Идея состояла в том, чтобы создать систему взаимосвязанных гипертекстовых документов, которые расположены на компьютерах по всему миру.
Тим Бернерс-Ли
Для реализации замысла Тиму и его помощникам пришлось разработать три технологии, благодаря которым появилось то, что мы сегодня считаем интернетом. Это HTTP, HTML и URL.
Протокол HTTP позволяет передавать файлы между клиентом и сервером. Язык гипертекстовой разметки HTML помогает создавать документы, которые ссылаются друг на друга. А URL дает надежный способ ссылаться на файл. Для этого в него входит информация о протоколе передачи данных, местонахождении сервера в интернете и файла на этом сервере.
Первый в мире веб-сайт Бернерс-Ли создал 20 декабря 1990 года по адресу http://info.cern.ch (теперь он находится в архиве). В 1994 году он же выложил в сеть официальный стандарт технологии URL. А в 1996 году браузеры научились добавлять http:// и www. за пользователей автоматически.
Структура URL адреса
URL состоит из различных частей. Одни из них являются обязательными в любом адресе, другие используют в зависимости от типа запроса. На сайте веб-документации MDN анатомию URL иллюстрируют таким примером:
http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
Протокол
Протокол
Наверное, вы заметили, что адреса многих сайтов начинаются с последовательности символов http:// – это протокол. Его можно сравнить с языком, на котором общаются через Интернет компьютеры. Чаще всего встречается HTTP-протокол или его безопасная версия – HTTPS. Однако существуют и менее известные протоколы, такие как ftp: для передачи файлов, или mailto:, который открывает почтовый клиент.
Доменное имя
Основная часть URL-адреса – доменное имя. В нашем случае это www.example.com. Доменное имя состоит из префикса, например, www., названия сайта и расширения домена, например, .com. Префикс www указывает на функциональное значение домена. В данном случае это веб-сервер. Для ftp-сервера запись выглядела бы ftp.example.com. А для почтового сервера – mail.example.com.
Расширения домена также известны как доменные зоны, или домены верхнего уровня (Top Level Domains). Они бывают национальными и общими. Национальные домены выделены для конкретных стран и состоят из двух букв. Например, .ua значит – Украина, .uk – Великобритания, .me – Черногория и так далее.
Наиболее распространены общие домены, которые, как правило, состоят из трех букв. Например, .com, .org, и .net. Каждый из них используется для сайтов определенной тематики. Для бизнеса – .com, для некоммерческих организаций – .org, для интернет-компаний – .net.
Доменные имена помогают браузерам находить веб-серверы. Однако тут не всё просто. Дело в том, что компьютеры оперируют адресами из чисел. Так, например, «компьютерный», или IP-адрес сайта MC.today выглядит так: 188.114.98. 224. Понятно, что запоминать такие адреса людям было бы крайне неудобно.
Запрос к DNS-серверу
Поэтому, когда вы вводите в браузере название сайта, он сначала обращается к специальной базе данных, которую называют система доменных имен (DNS). Там домен MC.today превращается в 188.114.98.224, и браузер получает фактический адрес сайта, по которому его можно найти в сети.
Порт
Порт
В нашем примере порт :80 – это технический параметр, который помогает системе определить, от кого поступили данные и какой программе их передать дальше. Обычно веб-сервер использует порт 80 для протокола HTTP и порт 443 для HTTPS.
Путь к ресурсу на веб-сервере
Адрес /path/to/myfile.html определяет расположение ресурса на веб-сервере. В данном случае файл myfile.html находится в папке to, которая вложена в папку path.
Запрос
Запрос в URL-адресе
Запрос – это часть URL после знака «?» Эта информация нужна для передачи дополнительных данных на сервер. Например, если в поиске интернет-магазина stylus.ua ввести слово «samsung», то адрес URL поменяет вид на https://stylus.ua/uk/search?q=samsung.
Якорь
Якорь в URL-адресе
Якорем называют идентификатор, который используется для перемещения к определенной части страницы. Обычно он расположен в конце URL-адреса после символа #. Так, например, ссылка на эту часть статьи выглядит так: https://mc.today/chto-takoe-url/#_URL-3
Виды URL
URL-адреса веб-страниц могут быть статическими и динамическими.
- Статический URL – это постоянный адрес, который остается неизменным, пока владелец сам не внесет в него какие-нибудь изменения. Пример: https://mc.today/uk/category/korisni-teksti/
- Динамический URL генерируется в ответ на запросы пользователей и содержит разделительные символы «?», «=», «&», после которых указаны дополнительные параметры страницы. Динамические адреса можно увидеть, когда пользователи применяют фильтры в интернет-магазинах или пользуются поиском по сайту.
Например, в результате поиска по слову IT получаем https://mc.today/uk/?cat=19200&s=IT
Форматы URL
Транслитерация
Веб-стандарт RFC3986 определяет список разрешенных и запрещенных для использования в URL символов. К запрещенным в частности относятся пробелы и кириллические символы. Поэтому владельцы сайтов в Украине широко используют транслитерацию.
К примеру, адрес этой страницы https://mc.today/chto-takoe-url/. Сразу понятно, что она отвечает на вопрос «Что такое URL?» Адреса, которые получены с помощью транслитерации легко читать и запоминать. Кроме этого поисковые системы легко распознают в них ключевые слова, что положительно влияет на продвижение сайтов.
Латиница
Еще один способ замены кириллических знаков в URL – перевод слов на английский. Фразу «что такое» в этом случае следует заменить на «what is». Этот вариант легко распознается поисковыми роботами, но может быть понятен не всем пользователям.
Кириллические URL и URL-шифрование
Рабочая группа по доменным именам на национальных языках (IDN) начала работу в 1999 году.
Ее назвали Punycode и постепенно внедрили в популярные браузеры. Однако за эти годы кириллические домены так и не стали популярны. С одной стороны, они лучше запоминаются и позволяют использовать в URL ключевые фразы. С другой – имеют ряд серьезных недостатков.
- Как мы уже говорили, запись URL-адресов возможна определенными символами. Поэтому при копировании и вставке кириллического URL в сообщение он шифруется. В результате вы получите длинный набор непонятных знаков. Не каждый отважится перейти по такой ссылке, так как ее сложно отличить от спама.
- Создать адрес электронной почты в формате «@домен.укр» не получится. Он будет выглядеть, как «@xn--d1acufc.xn--j1amh».
- Кириллические адреса тяжело распознавать поисковым роботам, что негативно влияет на SEO.
Человекопонятные URL
Google и другие поисковые системы советуют использовать при создании сайтов понятные для пользователей адреса. Такие URL называют семантическими, человекопонятными или просто ЧПУ. Они состоят из логических частей, содержат информацию о текущей веб-странице и отображают ее место в структуре сайта.
Несемантические адреса, напротив, состоят из адреса сайта, названия скрипта (набора команд) и строки запроса. При этом часто содержат данные, не имеющие смысла для обычного пользователя. Это могут быть цифровые индикаторы содержания, номер сессии, кодированные данные и так далее.
Например, по адресу https://example.com/viewpage.php?category_id=13 сложно сделать какой-то вывод о содержании страницы. Зато семантический адрес https://example.com/news/2022 сразу говорит нам, что это раздел с новостями за 2022 год. При этом понятно, что если подняться на уровень выше, то можно посмотреть новости за другие годы. Человекопонятные URL имеют ряд преимуществ:
- Позволяют оценить контент еще до перехода по ссылке.
- Легко читаются и запоминаются. Поэтому их можно передать кому-нибудь даже устно.
- В ЧПУ легко ввести ключевые фразы.
- Семантические ссылки обеспечивают ускоренную и интуитивно понятную навигацию по сайту. Зачастую пользователю достаточно удалить часть адреса, чтобы перейти к нужному разделу.
Есть ряд правил, которые нужно соблюдать, чтобы сформировать на сайте правильные ЧПУ:
- Использовать транслитерацию по заранее согласованным правилам. Добавим, что правила транслитерации украинского алфавита латиницей установлены постановлением Кабинета Министров Украины N 55 от 27 января 2010 года.
- Заменять пробелы и знаки препинания на дефис или нижнее подчеркивание.
- Не использовать в адресах заглавные буквы.
- По возможности делать адреса короткими.
Рекомендации по созданию URL
Чтобы выбрать хороший адрес сайта, нужно учесть множество факторов. Часть из них описана в разделе по оптимизации URL справки Google.
- Основной частью URL-адреса является доменное имя. Идеально, если оно будет коротким и запоминающимся.
Желательно также, чтобы оно воспринималось на слух так же, как пишется. Лучше не использовать в названии буквы, которые можно ввести несколькими способами. Например, ц (c или ts), в (v или w), я (ya или ja) и так далее.
- Используйте в URL ключевые слова. Поисковые системы учитывают этот фактор при сортировке сайтов в результатах поиска.
- Общая длина URL не должна превышать 80 символов. Более длинные ссылки в поисковой выдаче обрезаются на средине.
- Если подраздел сайта находится далеко от главной страницы, то его URL может быть слишком длинным. Поэтому в некоторых случаях лучше убрать из адреса упоминания о разделах и категориях.
- Если ваш сайт посещают люди из разных регионов, используйте структуру URL, которая указывает на регион страниц. Рекомендуется использовать домен страны, например, example.ua. Или подкаталог с указанием на конкретную страну, например, example.com/ua/.
- Слова в веб-адресе лучше разделять знаком дефиса «-», а не нижним подчеркиванием «_».
- Не рекомендуется использовать в URL символы, не относящиеся к кодировке ASCII. Например, https://www.example.com/杂货/薄荷.
В популярных видах бизнеса самые короткие и красивые домены могут быть уже заняты. И если с формированием URL возникли сложности, на помощь придут сервисы для генерации доменных имен. Например, Instant Domain Search или DomainWheel.
Пример генерации доменных имен со словом «car»
Может случиться, что вы придумали идеальный домен, но он уже кем-то занят. Не стоит расстраиваться. Можно выкупить домен у владельца, перехватить его продление, если владелец забудет сделать это вовремя, или подобрать другую доменную зону.
Итак, мы выяснили, что URL-адрес – это адрес любого веб-сайта, страницы или файла во Всемирной паутине. URL состоит из обязательных и опциональных частей. Адреса большинства сайтов состоят из доменного имени и протокола. При этом протоколы HTTP/HTTPS браузеры подставляют автоматически, поэтому указывать их необязательно.
Самый удобный формат адресов – семантический. Он позволяет пользователям заранее понять, какая информация находится на странице, легко запоминается, может содержать ключевые фразы, облегчает навигацию по сайту. При создании URL-адреса для сайта следует придерживаться ряда правил, с которыми можно ознакомиться в справочном центре Google.
Из чего состоит URL-адрес сайта: структура и создание
URL расшифровывается как Uniform Resource Locator (унифицированный локатор ресурса). Именно он отображается в адресной строке браузера при открытии любой страницы.
Отличие URL от доменного имени заключается в том, что домен присваивается всему сайту, а уникальный URL есть у каждой страницы. Если вы решите купить хостинг для сайта вордпресс в LITE.HOST, то получите в подарок доменное имя. А сформировать URL-адрес для каждой страницы каталога сможете в самой CMS.
Структура URL
Адрес страницы складывается из нескольких частей:
Первым идет обозначение протокола передачи данных – http:// или https://.
Второй вариант указывает на то, что у сайта есть SSL-сертификат и данные при передаче шифруются. Чаще всего на современных сайтах используется именно https://, поскольку безопасность имеет значение для многих пользователей.
Дальше идет доменное имя из двух, трех или четырех уровней: название сайта, доменная зона и поддомены. Подробнее о том, как устроена структура домена, вы можете узнать из нашей статьи.
Если URL ведет на определенную страницу, то после домена через / будет указан путь до нее.
URL есть не только у страниц сайтов, но и у всех файлов, размещенных в интернете, – картинок, текстовых документов, PDF-файлов, видео.
Также, когда вы применяете фильтр или листаете страницы в каталоге интернет-магазина, формируется динамический URL.
Почему в некоторых URL есть www, а в других нет?
Аббревиатура world wide web указывает в домене – это своего рода анахронизм. Раньше она указывала на то, что сайт размещен в веб-части интернета. Наряду с www.domain.ru существовали адреса типа mail.domain.ru, относившиеся к электронной почте, которая до 90-х занимала большую часть интернета.
Сейчас www воспринимается как поддомен, поэтому одинаковые сайты с этой припиской в имени и без технически считаются разными. Некоторые пользователи создают таким образом зеркала своих сайтов.
Как создаются URL?
Обычно URL создаются автоматически после создания страницы. Однако они не всегда получаются красивыми и удобочитаемыми. Многие владельцы сайтов предпочитают редактировать URL так, чтобы они были понятными.
Во-первых, это удобнее для пользователей. Получая такую ссылку, пользователь сразу понимает, на какую страницу она ведет, легко запоминает ее и может не только переслать, но и продиктовать ее другому.
Во-вторых, в такой «дружелюбный» URL можно добавить ключевые слова, что положительно влияет на SEO-продвижение. Поисковым системам нравятся страницы, по которым сразу понятно, что на них содержится и какие функции они выполняют. Однако не стоит злоупотреблять «ключами», чтобы роботы не восприняли это как спам.
Чтобы URL получился красивым, делайте его не слишком длинным (не более 4 слов и 80 символов) и используйте удобные для транслитерации слова. Подробнее о том, как сделать ссылку на сайт удобнее и привлекательнее, мы рассказывали в статье о том, как придумать домен. Здесь действуют примерно такие же правила.
URL-адресами, как и всем контентом на сайте и продвижением, проще всего управлять через CMS. LITE.HOST предлагает размещение сайтов с предустановкой системы управления контентом. Мы предлагаем хостинг 1c bitrix или OpenCart для интернет-магазинов, WordPress, Drupal, Joomla, MODX – для разнообразных корпоративных, новостных сайтов, презентаций, блогов и других проектов.
Из чего состоит URL?
Мы постоянно используем URL-адреса, когда нажимаем на ссылки и кнопки в наших мессенджерах, электронных письмах и на веб-сайтах. Некоторые часто используемые адреса социальных сетей и поисковых систем, например vk. com или ya.ru, мы даже знаем наизусть. Мы можем ввести их в адресную строку во сне.
URL — это система составления веб-адресов, изобретенная сотрудником CERN Тимом Бернерсом-Ли в 1990-х годах. Самым первым веб-сайтом, получившим URL-адрес, был http://info.cern.ch. Этот URL-адрес теперь ведет на мемориальный веб-сайт, посвященный рождению Всемирной паутины.
Сеть тогда была ничтожной долей того, чем она является сейчас, три десятилетия спустя, а URL-адреса сейчас повсюду. Ниже мы разберем структуру URL-адреса, который состоит из обязательных и необязательных частей. Знание о них будет полезно как начинающим разработчикам, так и обычным пользователям сети.
Обязательные части URL-адреса
URL-адрес имеет жесткую структуру, некоторые части которой являются обязательными, а другие необязательными. Некоторые обязательные части могут быть пропущены, но тогда вступят в силу значения по умолчанию. Первая часть URL — это схема, кодовое слово для протокола, который должен использовать браузер. Там, где схема была пропущена, по умолчанию будет использоваться схема http.
Вот иллюстрация типичных частей URL, взятая из документации Mozilla. На этих компонентах мы подробно остановимся в статье ниже.
На схеме указан протокол — набор правил, по которым машины передают и обмениваются данными по сети. Если используется протокол HTTP, браузер отправит запрос с соответствующим URL-адресом, а сервер веб-сайта ответит гипертекстом страницы. Браузер визуализирует полученный код в то, что мы видим на экране. HTTP — не единственный используемый протокол. FTP — еще один распространенный протокол передачи файлов. HTTPS — это безопасное расширение HTTP, поддерживающее шифрование сообщений.
За схемой следует хост, который представляет собой доменное имя или IP-адрес. Доменное имя на самом деле является ссылкой на IP-адрес определенного сервера, за исключением того, что оно написано так, чтобы его было легче запомнить. Например, на сайт google.com можно попасть по ссылке http://172. 217.22.14, но имя хоста google.com запомнится быстрее, чем последовательность из четырех цифр. Цифровые IP-адреса, хотя и являются абсолютно законными, обычно используются в технических целях. Так или иначе, доменное имя состоит из групп символов с точками между ними. Например, в URL страницы нашего блога https://ispmanager.com/news ispmanager.com соответствует доменному имени.
Порт указывает стандартный номер определенного процесса, запущенного на компьютере. Это также относится к системам, отвечающим за протокол. Например, порт 80 по умолчанию зарезервирован для схемы HTTP, а порт 443 — для HTTPS. Для каждой схемы обычно зарезервирован один стандартный протокол и один порт, поэтому порт редко, если вообще когда-либо, указывается в адресе. Следует помнить, что значения, используемые в веб-разработке, могут отличаться от значений по умолчанию. Когда порт указан, его значение следует за доменным именем, разделенным двоеточием. Например, если бы мы представили более подробную версию URL из предыдущего примера, это выглядело бы так: https://ispmanager. ru:443/news.
Какие еще части может иметь URL?
Достаточно знать доменное имя, чтобы получить доступ к сайту. Поскольку каждая страница должна иметь уникальный URL-адрес, за абсолютным путем после косой черты следуют относительные пути к другим страницам. Они образуют подобие дерева, где хост представляет собой общий ствол, а относительные пути — ветви, простирающиеся до каждой страницы или «листа».
Относительный путь — это путь относительно абсолютного адреса доменного имени, по которому расположена целевая страница веб-ресурса. В нашем примере URL https://www.ispmanager.com/news относительный путь соответствует строке /news. И если мы попытаемся добраться до страницы внутри страницы статьи, мы расширим этот относительный путь еще дальше. Допустим, мы ориентируемся на статью SSL-сертификаты на странице новостей: https://www.ispmanager.com/news/ssl-for-ip-address. Теперь строка относительного пути выглядит так: /news/ssl-for-ip-address. Этот путь соответствует определенной файловой структуре на сервере.
Для удобства пользователей многие веб-сайты дублируют строки относительного пути в своей навигации. Строка /news/ssl-for-ip-address в адресной строке повторяется в пути навигации: Наши новости и блог / Название статьи.
Якорь — это ссылка, которая «отмечает» определенное место на странице. Якорь начинается со знака фунта: #. Якоря используются, например, в таблицах содержания, чтобы упростить перемещение между разделами на странице. Допустим, ведущий разработчик Python поручает новичку перечитать документацию по языку, отправив ему эту ссылку: https://docs.python.org/3/tutorial/datastructures.html#dictionaries. Как только вы нажмете на ссылку, браузер быстро переместит страницу в целевое место, которое в HTML-коде страницы помечено соответствующим идентификатором, равным строке «словари».
Вот еще один важный случай: что делает веб-разработчик, когда нет ссылки там, где была создана ссылка. Решение состоит в том, чтобы поместить временный заполнитель вместо ссылки: одиночный символ #. Это действующая ссылка. Хотя это никуда не ведет, по крайней мере, страница не будет перезагружаться при нажатии на нее.
Параметры. Если веб-сайт имеет общедоступную базу данных, URL-адрес может указывать параметры для фильтрации результатов поиска. Допустим, пользователь покупает на веб-сайте обувь, а соответствующий относительный путь содержит следующую добавленную строку: ?search=shoes&fbrand=1&fsize=27. С помощью этого URL-адреса клиент может сохранить набор фильтров и передать результаты поиска.
Структурно UTM-метки напоминают поисковые фильтры, но никак не влияют на визуализацию страницы. Это параметры URL, которые маркетологи используют для отслеживания рекламных кампаний. Например, маркетолог может использовать тег ?utm_medium=social&utm_source=facebook.com, чтобы отслеживать, сколько пользователей перешли на веб-сайт по ссылке из социальной сети.
Допустимые символы URL-адреса
Как показано в приведенных выше примерах, URL-адрес может содержать большое количество символов, но не все существующие символы могут быть использованы. В большинстве случаев URL-адрес будет состоять из символов, используемых «как есть»:
- буквы латинского алфавита от A до Z, цифры от 0 до 9 и символы «-», «.», «_», «~»
- или зарезервированные символы: «:», «/», «?», «#», «[«, «]», «@», «!», «$», «&», «‘», » («, «)», «*», «+», «,», «;», «=»
Но иногда вам приходится использовать некоторые символы с URL-адресом, которые не являются допустимыми символами URL-адреса. В этом случае решение состоит в использовании процентного кодирования.
Процентное кодирование. Недопустимые символы перекодируются с использованием системы кодирования UTF-8 и символов процента. Та же процедура применяется для отображения зарезервированных символов. Ссылка, указывающая на статью о C++, при отправке может выглядеть примерно так: https://en.wikipedia.org/wiki/C%2B%2B
Здесь перекодированы все символы +. Однако современный браузер его получит, а если текст представить в более привычном виде, как https://en. wikipedia.org/wiki/C++, то перекодирование произойдет автоматически.
О чем следует помнить
URL-адрес — это уникальный адрес, который указывает, как одна машина должна соединяться с другой, какой порт использовать для передачи данных и как найти данные. Но URL-адреса служат не только машинам. URL-адрес упрощает для пользователей навигацию в Интернете, связывание определенного места веб-сайта или основной страницы или получение визуализации страницы с помощью предустановленного набора фильтров.
В своих комментариях сообщите нам, если есть что-то еще, что вы хотели бы знать об URL или доменах, и мы напишем об этом. Подпишитесь, чтобы быть в курсе наших новых статей.
Реальная разница между URL-адресом и URI тип
URI
.Все URL-адреса являются URI, но не все URI являются URL-адресами.
URI
или URL
— одна из знаменитых битв ботаников.
Настоящая разница между URI
и URL
заключается в том, что URI
может быть просто именем (например, google. com) или именем в сочетании с протоколом, как туда добраться (например, https: //) — , а URL
— это всегда имя в сочетании с протоколом (https://google.com) .
URI сам по себе подобен адресу или адрес с направлениями, в то время как URL-адрес всегда адрес с направлениями .
Другими словами, URI — это идентификаторы, а URL — это идентификаторы , которые также сообщают вам, как к ним добраться!
- google.com …это URI
- URL-адреса URI и URN
- Что следует использовать?
- Структуры URL
- Пройдем тест
- Путаница с RFC
- Резюме
Это основы, но ниже вы можете получить более подробную техническую информацию о различиях между URI и URL, а также URN.
Примеры
Типы и подтипы URI
Вот еще примеры URI, URN и URL, которые показывают взаимосвязь. Помните, что URI может быть URN или URL, потому что оба являются подтипами URI.
Имена и адреса технически не являются URI в этом примере, но он иллюстрирует разницу между вещью и тем, как найти эту вещь.
URIS | URNS | URLS | ||
---|---|---|---|---|
Имя, имя и местоположение, или оба | A NAME или номер | AMENT/NAME/NAME/NAME/NAME/NAME/NAME/NAME/NAME/NAME/NAME/NAME/NAME/NAME/NOMPAR/NAME | 8. или и то, и другоеЧье-то имя или адрес | Чье-то имя и адрес |
Номер ISBN | Номер ISBN | |||
[email protected] | ftp.google.com | ftp://ftp.google.com |
URIS, URLS и URN
. ) — это строка символов, которая однозначно идентифицирует имя или ресурс в Интернете. А
URI
идентифицирует ресурс по имени, расположению или по тому и другому .
URN
). Унифицированный указатель ресурса ( URL
) — это тип URI, который указывает не только ресурс, , но и способ доступа к нему в Интернете, например http://
, ftp://
, или по электронной почте: //
.
Единое имя ресурса ( URN
) — это тип URI , который использует специальную схему именования urn:
— подобно urn:isbn:0-486-27557-4
или urn:isbn:0-395-36341-1
.
Таким образом, URI
или URN
похожи на ваше имя, а URL
— это особый подтип URI
, который похож на ваше имя в сочетании с вашим адресом.
Все URL-адреса являются URI, но не все URI являются URL-адресами.
Выше мы узнали, что URI включают в себя как URN, так и URL-адреса, но давайте рассмотрим это более подробно.
- A UR I — это идентификатор определенного ресурса. Примеры: Книги, Документы
- A UR L — это специальный тип идентификатора , который также сообщает вам, как получить к нему доступ . Примеры: HTTP, FTP, MAILTO
- Если протокол (
https
,ftp
и т. д.) либо присутствует, либо подразумевается для домена, вы должны назвать его URL-адресом , даже если это также URI. .
Так что мне использовать?
URI vs. URL — один из самых вечных споров компьютерщиков. Если вы когда-нибудь услышите, как кто-то поправляет кого-то — в том или ином направлении — вы часто услышите сразу после этого обнажение мечей Катаны.
Так что правильно?
Когда большинство людей упоминают домен, подразумевается протокол HTTP, что делает его URL-адресом.
Ответ таков: это зависит от того, что обсуждается. Если вы говорите об обычном домене веб-сайта, таком как google.
, лучше использовать URL вместо URI, потому что URL более конкретен. com
Обычно лучше быть как можно более конкретным, поэтому URL-адрес лучше, чем URI, даже если оба они технически верны.
Если вы разговариваете с кем-то, например, из Сан-Франциско, и они спрашивают вас, где вы живете, вы не станете говорить им, что живете в Сан-Франциско или в Калифорнии. Вы ответили бы своим соседям, потому что это уровень детализации, о котором они просили.
Технически google.com
— это URI, точно так же, как технически вы живете в Калифорнии, но google.com
— это тоже URL, и вы тоже живете в Сан-Франциско.
Другими словами, в 99% повседневных случаев вы должны использовать URL вместо URI, потому что оба варианта технически верны, но URL более конкретен!
Структуры URL-адресов
URL-адреса также имеют свою особую структуру. В этой структуре у вас есть следующие компоненты:
- Схема, которая представляет собой протокол, который вы используете для взаимодействия.
- Власть, которая является целью, к которой вы обращаетесь. Это разбивается на информацию о пользователе, хосте и порте.
- Путь, который является ресурсом, который вы запрашиваете на хосте.
- Запрос — параметры, используемые в веб-приложении.
- Фрагмент, к которому нужно перейти на данной странице.
Схемы могут включать: HTTP, HTTPS, FTP, MAILTO, IRC, FILE
и т. д. HTTP
и HTTPS
обычно используются для доступа к интернет-ресурсам, но они могут или на компьютере).
Схема ФАЙЛ
относится к файлу, расположенному на локальном компьютере, и ищет файл по указанному пути. Хост также может включать обозначение порта, которое переопределяет порт по умолчанию для указанного протокола. Например:
https://google.com
…перейдет на хост google.com
через порт 443
, потому что 443 является портом по умолчанию для HTTPs
. Но если указать порт так:
https://google.com:9023
… клиент попытается подключиться к порту 9023
, используя вместо этого протокол HTTPs.
Наконец, URL-адреса также имеют параметры запроса и идентификаторы фрагментов.
Параметры запроса указывают на то, что аргумент передается веб-приложению, например функция поиска веб-страницы, например: «bing» в функции, называемой поиском в Google.
Фрагменты позволяют перейти к определенной части страницы по URL-адресу, например:
https://google.com/results.html#worse
Это приведет к переходу к гиперссылке на странице с пометкой «хуже» на странице с именем results.html
.
Проверка некоторых примеров
Хорошо, давайте рассмотрим несколько примеров и посмотрим, сможете ли вы ответить на вопросы.
Это URI, URL или URN?
www.google.com
Ответ: Это неполный URL, потому что у него нет протокола (хотя вы можете возразить, что это может подразумеваться). Что касается структуры, если бы это был URL-адрес, это было бы только часть хоста , поскольку в ней отсутствует схема и путь .
Это URI, URL или URN?
userstats.html
Ответ: Похоже, что это ресурс внутри URL-адреса, но, поскольку он не выглядит уникальным ресурсом и не имеет префикса urn:
, это не формальный URN. Так что это не URN, URL или URI.
Путаница с RFC
Более глубокое объяснение (давайте перейдем к техническим аспектам)
Позвольте мне предупредить вас: это один из самых распространенных NerdFights в истории технологий, и это говорит о многом.
Неконтролируемое обучение — безопасность, технологии и искусственный интеллект за 10 минут…
Получайте еженедельные сводки о том, что происходит в сфере безопасности и технологий — и почему это важно .
Одним из препятствий на пути к сути вещей является то, что соответствующие RFC чрезвычайно запутаны, запутаны и даже противоречивы.
Мой акцент.
URI может быть дополнительно классифицирован как локатор, имя или и то, и другое . термин «унифицированный указатель ресурсов» (URL) относится к подмножеству URI которые, в дополнение к идентификации ресурса, предоставляют средства определение местоположения ресурса путем описания его основного механизма доступа (например, его сетевое «местоположение»).
RFC 3986, раздел 1.1.3
Но чуть ниже в том же RFC говорится…
Мой акцент.
Сам URI предоставляет только идентификация; доступ к ресурсу не гарантируется и не подразумевается наличием URI
. RFC 3986, раздел 1.2.2
И затем, если вы еще не совсем запутались, там также написано…
Мой акцент.
Каждый URI начинается с имени схемы , как определено в Разделе 3.
1, что относится к спецификации для присвоения идентификаторов в этом схема.
RFC 3986, раздел 1.1.1
Далее приведены примеры:
Обратите внимание, что все их примеры имеют схемы.
ftp://ftp.is.co.za/rfc/rfc1808.txt
http://www.ietf.org/rfc/rfc2396.txt
ldap://[2001:db8::7]/ c=GB?objectClass?one
mailto:[email protected]
news:comp.infosystems.www.servers.unix
тел:+1-816-555-1212
telnet://192.0.2.16:80 /
urn:oasis:names:specification:docbook:dtd:xml:4.1.2
Подождите… что?
Эти три противоречия являются источником всего этого многолетнего спора.
В том же RFC только что сказано, что URI может быть именем, локатором или и тем, и другим — но URI только обеспечивает идентификацию, а способ доступа не гарантируется и не подразумевается — о, и также каждый URI начинается со схемы имя (которое во многих случаях говорит вам, как именно получить доступ к ресурсу).
Неудивительно, что все в замешательстве!
Причина, по которой Интернет спорит об этом уже более десяти лет, заключается в том, что RFC написан плохо.
Спасение практических правил от всего этого
Быть первым в результатах поиска по этой теме означает, что у меня много разговоров.
Итак, учитывая тот факт, что RFC вносит путаницу, а не устраняет ее, что — если вообще что-нибудь — мы можем из них использовать?
В духе языка, предназначенного для общения, а не для педантизма, вот мои собственные практические интерпретации RFC , которые, надеюсь, синхронизируют людей и приведут к меньшему количеству драк на мечах.
Все бабочки летают, но не все, что летает, является бабочкой.
- Унифицированный идентификатор ресурса (URI) предоставляет простые и расширяемые средства для идентификации ресурса (прямо из RFC 3986). Это просто идентификатор; не переусердствуйте.
- В большинстве дебатов на эту тему URI является надмножеством, поэтому вопрос заключается только в том, является ли данный URI формально URL-адресом или нет .
Все URL-адреса являются URI, но не все URI являются URL-адресами. В общем, если вы видите http(s)://, это URL.
- URI технически требуют схемы (см. выше), но RFC также говорит, что они могут быть именем, локатором или и тем, и другим, так что YOLO! Мой совет всем, кто говорит, что для URI нужна или не нужна схема, — показать им эту статью, потому что это единственное, что я знаю о том, что подчеркивает противоречия в RFC.
- Фрагменты типа
file.htm
на самом деле не являются URN , потому что URN должны использовать специальную запись сurn:
в начале. - Малоизвестный раздел RFC 3986 на самом деле прямо говорит о религиозной части аргумента, и, кажется, говорит, что мы должны говорить URI вместо URL .
RFC 3986 датируется 2005 годом, поэтому, по-видимому, они говорят, что URI является предпочтительным термином после этого момента.
Будущие спецификации и соответствующая документация должны используйте общий термин «URI», а не более ограничительные термины «URL» и «URN»
RFC 3986, раздел 1.
1.3
Так что это поддержка наименования «URI», но, на мой взгляд, это еще большая поддержка тех, кто говорит: «Хватит искать ответы в RFC 15-летней давности». ».
Это похоже на еще один широко читаемый текст в этом смысле.
Противоречивого контента так много, что некоторые выводы частично подтверждаются.
Резюме
Какой беспорядок. Вот TL;DR…
- RFC устарели, плохо написаны, и их не стоит обсуждать, пока они не будут обновлены.
- URI — это идентификатор.
- URL-адрес — это идентификатор, указывающий, как к нему добраться.
- Используйте термин, который лучше всего понятен получателю .
Я бы приветствовал новую версию RFC, которая упрощает и проясняет различие с современными примерами.
Эти RFC были написаны очень давно , и они написаны с академической слабостью, поскольку не оптимизированы для чтения.
Лучшее, что я могу вам сказать об этих дебатах, это не переоценивать их. Я ни разу за 20 лет не видел ситуации, когда путаница между URI и URL действительно имела значение.
Ирония в том, что RFC должны устранять путаницу, а не добавлять ее.
Таким образом, несмотря на некоторую прямую поддержку того, что RFC предпочитает «URI», а «URL» кажется наиболее точным для полных адресов со схемами http(s) (поскольку он наиболее специфичен), я решил отдать приоритет Принципу. Ясности общения выше, чем у педантичности нюансов.
Мне потребовалось много времени, чтобы добраться до этого момента.
В результате лично я использую «URL» в большинстве случаев , потому что это наименее вероятно вызовет путаницу , но если я слышу, что кто-то использует «URI», я часто сразу же переключаюсь на его использование.
Примечания
- 20 февраля 2022 г. — Добавлены дополнительные разделы и более подробные объяснения различий в URL-адресах, URI и URN.
- 16 января 2022 г. — Обновлено для краткости, удобочитаемости и ясности.