URL

Эта статья прошла проверку экспертом
Материал из «Знание.Вики»
Структура URL-адреса

URL (англ. Uniform Resource Locator — единообразный указатель местонахождения ресурса) — структурированная строка символов, которая идентифицирует ресурс в сети Интернет и является его уникальным адресом.

Формат адреса был разработан Тимом Бернерсом-Ли в 1990 году. Эта разработка легла в основу для создания Всемирной паутины (англ. World Wide Web). Использование URL в России регулируется стандартом ГОСТ Р 7.0.5-2008 «Библиографическая ссылка. Общие требования и правила составления». Этот стандарт устанавливает правила для формирования и представления библиографических ссылок, включая ссылки на электронные ресурсы, такие как веб-страницы[1].

Историческая справка

URL был впервые предложен Тимом Бернерсом-Ли, который в 1990 году, работая в ев­ро­пей­ском центре ядер­ных ис­сле­до­ва­ний CERN (от фр. Conseil Européen pour la Recherche Nucléaire) над внутренней системой обмена документов Enquire, предложил глобальный гипертекстовый проект, ныне известный как Всемирная паутина[2]. Проект был утверждён и реализован.

Первоначально URL предназначался для указания местоположения файлов в сети Всемирной паутины, что значительно упростило доступ к различным документам и ресурсам. Сегодня URL используется для указания адресов почти всех видов ресурсов Интернета, включая веб-страницы, изображения, видео и другие типы файлов. Формат URL закреплён в документе RFC 3986, и этот стандарт регулируется организацией IETF и её подразделениями[3]. С течением времени термин URL начинает уступать место более общему понятию URI, которое охватывает более широкий спектр идентификаторов ресурсов.

Структура URL

URL-адрес разработан для того, чтобы эффективно указывать местоположение ресурсов в сети. Формат URL имеет следующий вид[4]:

<схема>:[//[<логин>[:<пароль>]@]<хост>[:<порт>]][/<URL‐путь>][?<параметры>][#<якорь>]

где:

  • схема — указывает на тип обращения к ресурсу, обычно обозначает сетевой протокол, например протокол HTTP или его защищённая версия HTTPS;
  • логин — имя пользователя для доступа к ресурсу;
  • пароль — пароль пользователя;
  • хост — полное доменное имя хоста или IP-адрес, состоящий из четырёх групп десятичных чисел;
  • порт — номер порта для подключения;
  • URL-путь — указывает конкретное местоположение ресурса;
  • параметры — строка запроса с параметрами, начинающаяся с «?», разделяемая знаком «&». Пример:
?параметр_1=значение_1&параметр_2=значение_2&параметр3=значение_3
  • якорь — идентификатор, предшествующий символом «#», указывающий на определённый элемент внутри документа. По такой ссылке браузер откроет страницу и переместит окно к указанному элементу.

В дальнейшем, в 2009 году Тим Бернерс-Ли высказал мнение о том, что двойной слэш «//» в начале URL после указания протокола может быть избыточным, поскольку его наличие не всегда необходимо для правильной интерпретации адреса[5].

Таким образом, структурно можно представлять URL как следующую аналогию обычного почтового адреса:

  • протокол обозначает почтовый транспорт, которым можно воспользоваться;
  • доменное имя — это город;
  • порт — это почтовый индекс;
  • адрес — это номер дома;
  • параметры представляют собой дополнительную информацию, как, например, номер квартиры;
  • якорь представляет собой конкретного получателя, которому адресовано послание.

Абсолютные и относительные URL-адреса

Описанная выше структура представляет собой построение абсолютного или полного адреса. Применяются также и приёмы построения относительных или сокращённых URL-адресов, которые позволяют использовать не все перечисленные выше символы.

Например, интернет-ссылка на главную страницу электронной энциклопедии Знание.Вики может выглядеть так:

https://znanierussia.ru/articles/Знание.Вики

Схемы URL

Общепринятые схемы и протоколы[6]:

  • FTP (англ. File Transfer Protocol) — протокол передачи файлов;
  • HTTP (англ. HyperText Transfer Protocol) — протокол гипертекста;
  • RTMP (англ. Real Time Messaging Protocol) — протокол потоковой передачи данных, в основном используется для потокового видео и аудио;
  • RTSP (англ. Real Time Streaming Protocol) — потоковый протокол реального времени;
  • HTTPS (англ. Hyper Text Transfer Protocol Secure) — защищённый протокол HTTP с использованием шифрования (SSL или TLS);
  • Gopher — сетевой протокол распределённого поиска и передачи документов, который был широко распространён в Интернете до 1993 года. Протокол предназначается для предоставления доступа к документам в сети Интернет, но имеет меньше возможностей, чем HTTP, и впоследствии был почти полностью вытеснен им;
  • mailto — определяет схему для адресов электронной почты;
  • news — новости Usenet;
  • NNTP (англ.  Network News Transfer Protocol) — сетевой протокол распространения, запрашивания, размещения и получения групп новостей при взаимодействии между сервером групп новостей и клиентом;
  • IRC (англ. Internet Relay Chat) — протокол прикладного уровня для обмена сообщениями в режиме реального времени;
  • SMB (англ. Server Message Block) — сетевой протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия;
  • Prospero — протокол, который предоставляет распределённые сервисы каталогов (Prospero Directory Service);
  • Telnet (сокр. от англ. Teletype Network) — сетевой протокол для реализации текстового терминального интерфейса по сети;
  • WAIS (англ. (Wide Area Information Servers) — сетевая информационная поисковая система, база данных системы WAIS;
  • XMPP (англ. (eXtensible Messaging and Presence Protocol) — протокол, свободный для использования протокол для мгновенного обмена сообщениями и информацией в режиме, близком к режиму реального времени;
  • File (схема URI) — это схема URI, предназначенная для того, чтобы адресовать файлы на локальном компьютере или в локальной сети, по их прямому пути на диске, в сетевой папке или, в отдельных случаях, на FTP-сервере;
  • Data — протокол для указания URI данных, который представляет ресурс (обычно изображение), встроенный в URI, а не загружаемый по внешнему URL-адресу;
  • tel — протокол tel позволяет инициировать телефонный звонок по клику на ссылку на веб-странице. Например: "tel:+1234567890" .

Нетиповые схемы URL:

  • AFS — имя файла в файловой системе Andrew File System;
  • CID — Caller ID — телефонная услуга, которая позволяет получить номер вызывающего абонента. Идентификатор содержимого для частей MIME;
  • MID — Message-ID. Идентификатор сообщений электронной почты;
  • mailserver — доступ к данным почтовых серверов;
  • nfs — имя файла в сетевой файловой системе NFS;
  • tn3270 — эмуляция Telnet 3270;
  • z39.50 — доступ к службам ANSI Z39.50. Клиент-серверный протокол для поиска и получения информации с удалённых библиографических баз данных;
  • skype — протокол Skype;
  • smsto — открытие редактора SMS в сотовых телефонах;
  • ed2k — файлообменная сеть eDonkey (P2P);
  • market — Google Play (ранее Android-маркет);
  • steam — протокол Steam;
  • bitcoin — криптовалюта Биткойн;
  • ob — OpenBazaar;
  • tg — Telegram.

Схемы URL в браузерах:

Кодирование URL

Стандарт URL использует только символы ASCII, что предполагает использовать в качестве символов только буквы латинского алфавита, цифры и некоторые знаки пунктуации, в то время как остальные символы требуют перекодирования. Например, кириллические буквы, символы с диакритическими знаками, иероглифы кодируются с использованием URL-encoding, как описано в RFC 3986[7].

Реализация кодирования происходит в два этапа: сначала символы преобразуются в UTF-8, а затем каждый байт в шестнадцатеричное представление с префиксом процента (%). Например, буква «В» кодируется как %D0%92, а буква «н» как %D0%BD. Если использовать таблицу перекодировки, то буквы кириллицы в фразе «Знание.Вики» будут представлены следующим образом[8]:

З → D0 97 → %D0%97    В → D0 92 → %D0%92
н → D0 BD → %D0%BD    и → D0 B8 → %D0%B8
а → D0 B0 → %D0%B0    к → D0 BA → %D0%BA
н → D0 BD → %D0%BD    и → D0 B8 → %D0%B8
и → D0 B8 → %D0%B8
е → D0 B5 → %D0%B5

и тогда запись URL-адреса главной страницы электронной энциклопедии Знание.Вики с заменой символов кириллицы выглядит так:

https://znanierussia.ru/articles/%D0%97%D0%BD%D0%B0%D0%BD%D0%B8%D0%B5.%D0%92%D0%B8%D0%BA%D0%B8

Стандарт IRI

Поскольку URL не поддерживает символы большинства языков, кроме базовой латиницы, это затрудняет чтение для пользователей. Стандарт IRI (англ. Internationalized Resource Identifier) предлагает решение, позволяя использовать символы Юникода в идентификаторах. Это обеспечивает поддержку разных языков, что важно для создания национальных сегментов Интернета. Несмотря на это, неясно, заменит ли IRI URL в будущем или они будут использоваться параллельно.

Ограничение длины URL

Длина URL формально не ограничена, однако браузеры накладывают ограничения на её размер. Например, Microsoft Internet Explorer ограничивает длину URL до 2048 символов, что следует учитывать при формировании адресов. Это ограничение необходимо учитывать, чтобы обеспечить совместимость с различными веб-браузерами и системами[9].

Инициатива PURL

Одним из значительных недостатков URL является его негибкость в случае перемещения ресурсов. Это особенно актуально для электронных библиотек и каталогов. Для решения этой проблемы предложены постоянные локаторы PURL ( англ. Persistent Uniform Resource Locator). Они ссылаются не на конкретное место расположения ресурса, а на запись в базе данных PURL, которая содержит актуальный URL. Это позволяет обновлять адреса ресурсов без изменения всех ссылок. В данный момент концепция PURL не стандартизирована и не получила широкого распространения, но продолжает быть актуальной в контексте долговременной доступности информации в сети[2].

См. также

Примечания

  1. ГОСТ Р 7.0.5-2008 Библиографическая ссылка (28 апреля 2008). Дата обращения: 2 ноября 2024.
  2. 2,0 2,1 Как прописать правильный URL адрес страницы сайта (Орфографика). Дата обращения: 2 ноября 2024.
  3. Базовый синтаксис идентификаторов URI. Энциклопедия сетевых протоколов. Дата обращения: 1 ноября 2024.
  4. Что такое URL-адрес? — Изучение веб-разработки. MDN Web Docs. Дата обращения: 2 ноября 2024.
  5. Двойной слеш в адресах интернета появился из-за спешки его создателя. РИА Новости (14 октября 2009). Дата обращения: 2 ноября 2024.
  6. URL схемы, команды ОС. Международная технологическая компания iRidi. Дата обращения: 2 ноября 2024.
  7. URL-декодирование и кодирование. Urlencoder. Дата обращения: 2 ноября 2024.
  8. Таблица кодирования символов в URL. Snipp.ru. Дата обращения: 2 ноября 2024.
  9. Максимальная длина URL-адреса в Internet Explorer составляет 2083 символа. Майкрософт. Дата обращения: 2 ноября 2024.

Ссылки

Кодирование URL

WLW Checked Off icon.svg Данная статья имеет статус «готовой». Это не говорит о качестве статьи, однако в ней уже в достаточной степени раскрыта основная тема. Если вы хотите улучшить статью — правьте смело!