URL

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску
Расположение URL в браузере

Uniform Resource Locator (сокр.URL [ˌjuː ɑːr ˈel]; с англ. — «единообразный указатель местонахождения ресурса») — адрес ресурса в сети Интернет. Стандарт URL регулируется организациейIETF. URL как формат адреса ресурса был изобретёнТимом Бернерсом-Ли в 1990 году в стенахЕвропейского совета по ядерным исследованиям, и стал фактической основой для созданияВсемирной паутины. Первое упоминание URL в документе IETF «UDI (Universal Document Identifiers) BOF» появляется в июле 1992 года, тогда же в IETF была создана рабочая группа по URL/URI, а зафиксирован стандарт URL был в декабре 1994 года в документе «Uniform Resource Locators (URL)» (RFC 1738). Сейчас URL позиционируется как часть более широкой системы адресацииURI и регулируется документом, определяющим URI (RFC 3986).

В России употребление URL в официальных документах регулируется ГОСТ Р 7.0.5-2008 «Библиографическая ссылка. Общие требования и правила составления».

Содержание

История

[править |править код]

URL был изобретёнТимом Бернерсом-Ли в 1990 году в стенах Европейского совета по ядерным исследованиям (фр. Conseil Européen pour la Recherche Nucléaire,CERN) вЖеневе,Швейцария. URL стал фундаментальной инновацией в Интернете. Изначально URL предназначался для обозначения мест расположения ресурсов (чаще всего файлов) воВсемирной паутине. Сейчас URL применяется для обозначения адресов почти всех ресурсов Интернета. Стандарт URL закреплён в документеRFC 3986. Сейчас URL позиционируется как часть более общей системы идентификации ресурсовURI, термин URL постепенно уступает место более широкому терминуURI[источник?]. Стандарт URL регулируется организациейIETF и её подразделениями.

В 2009 году Тим Бернерс-Ли высказал мнение об избыточности двойного слеша// в начале URL, после указания сетевого протокола[1][2].

Структура URL

[править |править код]

URL был разработан как система для максимально естественного указания на местонахождения ресурсов в сети. Локатор должен был быть легко расширяемым и использовать лишь ограниченный наборASCII‐символов (к примеру, в URL никогда не применяетсяпробел). В связи с этим возникла следующая традиционная форма записи URL:

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

В этой записи:

схема
[править |править код]
схема обращения к ресурсу; в большинстве случаев имеется в видусетевой протокол
логин
[править |править код]
имя пользователя, используемое для доступа к ресурсу
пароль
[править |править код]
пароль указанного пользователя
хост
[править |править код]
полностью прописанноедоменное имяхоста в системеDNS илиIP-адрес хоста в форме четырёх группдесятичныхчисел, разделённых точками; числа — целые в интервале от 0 до 255.
порт
[править |править код]
порт хоста для подключения
URL-путь
[править |править код]
уточняющаяинформация о месте нахождения ресурса; зависит от протокола.
параметры
[править |править код]
строка запроса с передаваемыми на сервер (методом GET) параметрами. Начинается с символа?, разделитель параметров — знак&. Пример:?параметр_1=значение_1&параметр_2=значение_2&параметр3=значение_3
якорь
[править |править код]
идентификатор «якоря»[англ.] с предшествующим символом#. Якорем может быть указан заголовок внутри документа илиатрибут id[англ.] элемента. По такой ссылке браузер откроет страницу и переместит окно к указанному элементу. Например, ссылка на этот раздел статьи:https://ru.wikipedia.org/wiki/URL#Структура_URL.

Схемы (протоколы) URL

[править |править код]
Информация должна бытьпроверяема, иначе она может быть удалена. Вы можетеотредактировать статью, добавив ссылки наавторитетные источники в видесносок.(8 сентября 2016)

Общепринятые схемы (протоколы) URL включают:

  • ftp — протокол передачи файловFTP
  • http — протокол передачигипертекстаHTTP
  • rtmp — проприетарный протокол потоковой передачи данныхReal Time Messaging Protocol, в основном используется для передачи потокового видео и аудио с веб-камер через Интернет
  • rtsp — потоковый протокол реального времени
  • sip — протокол установления сеансов мультимедиаSIP
  • https — специальная реализация протоколаHTTP, использующая шифрование (как правило,SSL илиTLS)
  • gopher — протоколGopher
  • mailto — адресэлектронной почты
  • news — новостиUsenet
  • nntp — новостиUsenet через протоколNNTP
  • irc — протоколIRC
  • smb — протоколSMB/CIFS
  • prospero — служба каталоговProspero Directory Service
  • telnet — ссылка на интерактивную сессиюTelnet
  • wais — база данных системыWAIS
  • xmpp — протокол XMPP (частьJabber)
  • file — имя локальногофайла
  • data — непосредственные данные (Data: URL)
  • tel — звонок по указанному телефону

Экзотические схемы URL:

  • afs — глобальное имя файла в файловой системеAndrew File System
  • cid — идентификатор содержимого для частейMIME
  • mid — идентификатор сообщений для электронной почты
  • mailserver — доступ к данным спочтовых серверов
  • nfs — имя файла в сетевой файловой системеNFS
  • tn3270 — эмуляция интерактивной сессииTelnet 3270
  • z39.50 — доступ к службамANSI Z39.50
  • skype — протоколSkype
  • smsto — открытие редактораSMS в некоторыхмобильных телефонах
  • ed2k —файлообменная сетьeDonkey, построенная по принципуP2P
  • market —Android-маркет
  • steam — протоколSteam
  • sips — протокол установления сеансов мультимедиаSIP черезTLS
  • bitcoin — криптовалютаБиткойн
  • ob —OpenBazaar
  • tg —Telegram

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

Перейти к шаблону «Схемы URI»
СхемыURI
Официальные
Неофициальные

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

[править |править код]

Стандарт URL использует наборсимволов US-ASCII. Это имеет серьёзный недостаток, поскольку разрешается использовать лишь латинские буквы, цифры и несколько знаков пунктуации. Все другие символы необходимо перекодировать. Например, перекодироваться должны буквыкириллицы, буквы сдиакритическими знаками,лигатуры,иероглифы. Перекодирующая кодировка описана в стандартеRFC 3986 и называетсяURL-encoding, URLencoded илиpercent‐encoding.

Пример кодирования можно видеть в русскоязычнойВикипедии, использующей в URLрусский язык. Например, строка вида:

https://ru.wikipedia.org/wiki/Википедия

кодируется как:

https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F

Реализация

[править |править код]

Преобразование происходит в два этапа: сначала каждый символ кириллицы кодируется вUTF-8 в последовательность из двух байтов, а затем каждый байт этой последовательности записывается вшестнадцатеричном представлении с предшествующимзнаком процента (%):

В → D0 и 92 → %D0%92и → D0 и B8 → %D0%B8к → D0 и BA → %D0%BAи → D0 и B8 → %D0%B8, и т. д.
Зарезервированные символы[4]
!*'();:@&=+$,/?#[]
Не зарезервированные символы[4]
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789-_.~

Все другие символы в URI кодируются.

Зарезервированные символы кодируются в таком соответствии:

!"#[5]$%&[5]'*+,[5]:[5];[5]<=[5]>?[5][]^`{|}<пробел>
%21%22%23%24%25%26%27%2A%2B%2C%3A%3B%3C%3D%3E%3F%5B%5D%5E%60%7B%7C%7D%20[6]

Кодирование параметров в Internet Explorer и старом Firefox происходит несколько иначе[7].

В некоторых случаях URL формируется с использованием кодированияBase58[8].

Стандарт IRI

[править |править код]
Основная статья:Internationalized Resource Identifier

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

Это всё входит в противоречие с принципоминтернационализма, провозглашаемого всеми ведущими организациямиИнтернета, включаяW3C иISOC. Эту проблему призван решить стандартIRI (англ. Internationalized Resource Identifier) — международных идентификаторов ресурсов, в которых можно было бы без проблем использовать символы Юникода, и которые поэтому не ущемляли бы права другихязыков. Хотя заранее сложно сказать, смогут ли когда‐либо идентификаторы IRI заменить столь широко используемые URL (иURI в целом).

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

[править |править код]

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

Инициатива PURL

[править |править код]

Ещё один кардинальный недостаток URL состоит в отсутствии гибкости. Ресурсы во Всемирной паутине и Интернете перемещаются, ассылки в виде URL остаются, указывая на уже отсутствующие ресурсы. Это особенно болезненно для электронных библиотек, каталогов и энциклопедий. Для решения этой проблемы были предложены постоянные локаторыPURL (англ. Persistent Uniform Resource Locator). В сущности это те же URL, но они указывают не на конкретное место расположения ресурса, а на запись в базе данных PURL, где, в свою очередь, записан уже конкретный URL‐адрес ресурса. При обращении к PURLсервер находит нужную запись в этойбазе данных и перенаправляет запрос уже на конкретное местоположение ресурса. Если адрес ресурса меняется, то нет нужды исправлять все бесчисленные ссылки на него — достаточно лишь изменить запись в БД. В настоящий момент эта идея не стандартизирована и не имеет широкого распространения.

См. также

[править |править код]

Примечания

[править |править код]
  1. Двойной слеш в адресах интернета появился из-за спешки его создателя . РИА Новости (14 октября 2009). Дата обращения: 11 июля 2010. Архивировано 25 августа 2011 года.
  2. Создатель интернета сожалеет о двойном слеше . 3DNews Daily Digital Digest (14 октября 2009). Дата обращения: 26 февраля 2020. Архивировано 26 февраля 2020 года.
  3. The Chrome URL . Дата обращения: 9 декабря 2014. Архивировано 21 октября 2014 года.
  4. 12RFC 3986, раздел 2.2
  5. 1234567Символ допустим, но при указании прямым текстом несёт специальное синтаксическое значение
  6. MediaWiki избегает кодирования пробела как %20, вместо этого он везде заменяется символом подчёркивания «_».Многиепоисковики заменяют пробел на символ «+».
  7. HTTP, RFC 3986 и браузеры
  8. Flickr Services . Дата обращения: 19 сентября 2014. Архивировано 12 августа 2014 года.
  9. Максимальная длина URL-адреса в Internet Explorer составляет 2083 символа . microsoft.com. Дата обращения: 10 мая 2015. Архивировано 15 ноября 2016 года.

Ссылки

[править |править код]
Перейти к шаблону «External links»
Ссылки на внешние ресурсы
Перейти к шаблону «Внешние ссылки» Перейти к элементу Викиданных
  Словари и энциклопедии
В библиографических каталогах
Источник —https://ru.wikipedia.org/w/index.php?title=URL&oldid=151132669
Категории:
Скрытые категории: