URL

Поделись знанием:


Ты - не раб!
Закрытый образовательный курс для детей элиты: "Истинное обустройство мира".
http://noslave.org

Перейти к: навигация, поиск

Единый указатель ресурса (англ. Uniform Resource Locator, URL /ˌjuː ɑːr ˈel/) — единообразный локатор (определитель местонахождения) ресурса.

Ранее назывался Universal Resource Locator — универсальный указатель ресурса. URL служит стандартизированным способом записи адреса ресурса в сети Интернет.







История

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

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

Структура URL

Файл:The great url stone.jpeg
Мраморная доска с выгравированным адресом хранящейся на Викискладе фотографии этой же мраморной доски. Из собрания Московского Мультимедиа Арт музея.

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

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

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

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

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

[[К:Википедия:Статьи без источников (страна: Ошибка Lua: callParserFunction: function "#property" was not found.)]][[К:Википедия:Статьи без источников (страна: Ошибка Lua: callParserFunction: function "#property" was not found.)]][[К:Википедия:Статьи без источников (страна: Ошибка Lua: callParserFunction: function "#property" was not found.)]]Ошибка Lua: callParserFunction: function "#property" was not found.URLОшибка Lua: callParserFunction: function "#property" was not found.URLОшибка Lua: callParserFunction: function "#property" was not found.URL

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

  • ftp — Протокол передачи файлов FTP
  • http — Протокол передачи гипертекста HTTP
  • rtmp — Real Time Messaging Protocol проприетарный протокол потоковой передачи данных, в основном используется для передачи потокового видео и аудиопотоков с веб-камер через интернет.
  • rtsp — Потоковый протокол реального времени.
  • 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
  • bitcoin — Криптовалюта Биткойн
  • ob — OpenBazaar
  • tg — Telegram

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

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

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

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

https://ru.wikipedia.org/wiki/Микрокредит

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

https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D1%80%D0%B5%D0%B4%D0%B8%D1%82

Реализация

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

М → D0 и 9C → %D0%9C
и → D0 и B8 → %D0%B8
к → D0 и BA → %D0%BA
р → D1 и 80 → %D1%80, и т. д.
Зарезервированные символы[3]
! * ' ( ) ; : @ & = + $ , / ? # [ ]
Не зарезервированные символы[3]
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 - _ . ~

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

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

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

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

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

Стандарт IRI

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

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

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

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

Инициатива PURL

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

См. также

Напишите отзыв о статье "URL"

Примечания

  1. [http://www.rian.ru/science/20091014/188848694.html Двойной слеш в адресах интернета появился из-за спешки его создателя]. РИА Новости (2009-10-14 19:05). Проверено 11 июля 2010. [http://www.webcitation.org/61BpV4obP Архивировано из первоисточника 25 августа 2011].
  2. [https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Tutorial/The_Chrome_URL The Chrome URL]. Проверено 9 декабря 2014.
  3. 1 2 RFC 3986, раздел 2.2
  4. 1 2 3 4 5 6 7 Символ допустим, но при указании прямым текстом несёт специальное синтаксическое значение
  5. Следует отметить, что MediaWiki избегает кодирования пробела как %20, вместо этого он везде заменяется символом подчёркивания «_». Многие поисковики заменяют пробел на символ «+».
  6. [https://web.archive.org/web/20131109201144/http://habrahabr.ru/post/68631/ HTTP, RFC 3986 и браузеры]
  7. [https://www.flickr.com/services/api/misc.urls.html#short Flickr Services]
  8. [https://support.microsoft.com/ru-ru/kb/208427 Максимальная длина URL-адреса в Internet Explorer составляет 2083 символа]. microsoft.com.

Ссылки

  • [https://tools.ietf.org/html/rfc1738 RFC 1738]
  • [https://tools.ietf.org/html/rfc1630 RFC 1630]
  • [http://www.w3.org/International/O-URL-code.html Кодирование URL]
  • [http://www.3dnews.ru/software-news/sozdatel_interneta_sozhaleet_o_dvoinom_sleshe/ Создатель интернета сожалеет о двойном слеше]

Отрывок, характеризующий URL

Я стояла совершенно потрясённая, как это было почти всегда после очередного рассказа Севера...
Неужели тот малюсенький, только что родившийся мальчик был знаменитейшим Жаком де Молэй?!. Сколько разных преразных легенд слышала я об этом загадочном человеке!.. Сколько чудес было связано с его жизнью в полюбившихся мне когда-то рассказах!
(К сожалению, до наших дней не дошли чудесные легенды об этом загадочном человеке... Его, как и Радомира, сделали слабым, трусливым и бесхарактерным магистром, «не сумевшим» сберечь свой великий Орден...)
– Сможешь ли рассказать о нём чуть поподробнее, Север? Был ли он столь сильным пророком и чудотворцем, как рассказывал мне когда-то отец?..
Улыбнувшись моей нетерпеливости, Север утвердительно кивнул.
– Да, я расскажу тебе о нём, Изидора... Я знал его много лет. И множество раз говорил с ним. Я очень любил этого человека... И очень по нему тосковал.
Я не спросила, почему же он не помог ему во время казни? В этом не было смысла, так как я заранее знала его ответ.
– Ты – что?!! Ты говорил с ним?!. Пожалуйста, ты ведь расскажешь мне об этом, Север?!. – Воскликнула я.
Знаю, своим восторгом я была похожа на дитя... Но это не имело значения. Север понимал, как важен был для меня его рассказ, и терпеливо помогал мне.
– Только я хотела бы сперва узнать, что стало с его матерью и Катарами. Знаю, что они погибли, но я хотела бы это увидеть своими глазами... Помоги мне, пожалуйста, Север.
И опять реальность исчезла, возвращая меня в Монтсегюр, где проживали свои последние часы чудесные смелые люди – ученики и последователи Магдалины...

Катары.
Эсклармонд тихо лежала на кровати. Её глаза были закрыты, казалось, она спала, измученная потерями... Но я чувствовала – это была всего лишь защита. Она просто хотела остаться одна со своей печалью... Её сердце бесконечно страдало. Тело отказывалось повиноваться... Всего лишь какие-то считанные мгновения назад её руки держали новорождённого сынишку... Обнимали мужа… Теперь же они ушли в неизвестность. И никто не мог с уверенностью сказать, удастся ли им уйти от ненависти «охотников», заполонивших подножье Монтсегюра. Да и всю долину, сколько охватывал глаз... Крепость была последним оплотом Катар, после неё уже ничего не оставалось. Они потерпели полное поражение... Измученные голодом и зимними холодами, они были беспомощны против каменного «дождя» катапульт, с утра до ночи сыпавшихся на Монтсегюр.

– Скажи, Север, почему Совершенные не защищались? Ведь, насколько мне известно, никто лучше них не владел «движением» (думаю, имеется в виду телекинез), «дуновением» и ещё очень многим другим. Почему они сдались?!
– На это есть свои причины, Изидора. В самые первые нападения крестоносцев Катары ещё не сдавались. Но после полного уничтожения городов Алби, Безье, Минервы и Лавура, в которых погибли тысячи мирных жителей, церковь придумала ход, который просто не мог не сработать. Перед тем, как напасть, они объявляли Совершенным, что если они сдадутся, то не будет тронут ни один человек. И, конечно же, Катары сдавались... С того дня начали полыхать по всей Окситании костры Совершенных. Людей, посвятивших всю свою жизнь Знанию, Свету и Добру, сжигали, как мусор, превращая красавицу Окситанию в выжженную кострами пустыню.
Смотри, Изидора... Смотри, если желаешь увидеть правду...
Меня объял настоящий священный ужас!.. Ибо то, что показывал мне Север, не вмещалось в рамки нормального человеческого понимания!.. Это было Пекло, если оно когда-либо по-настоящему где-то существовало...
Тысячи облачённых в сверкающие доспехи рыцарей-убийц хладнокровно вырезали мечущихся в ужасе людей – женщин, стариков, детей... Всех, кто попадал под сильные удары верных прислужников «всепрощающей» католической церкви... Молодые мужчины, пытавшиеся сопротивляться, тут же падали замертво, зарубленные длинными рыцарскими мечами. Повсюду звучали душераздирающие крики... звон мечей оглушал. Стоял удушающий запах дыма, человеческой крови и смерти. Рыцари беспощадно рубили всех: был ли то новорождённый младенец, которого, умоляя о пощаде, протягивала несчастная мать... или был немощный старик... Все они тут же нещадно зарубались насмерть... именем Христа!!! Это было святотатством. Это было настолько дико, что у меня на голове по-настоящему шевелились волосы. Я дрожала всем телом, не в состоянии принять или просто осмыслить происходящее. Очень хотелось верить, что это сон! Что такого в реальности быть не могло! Но, к сожалению, это всё же была реальность...
КАК могли они объяснить совершающееся зверство?!! КАК могла римская церковь ПРОЩАТЬ (???) совершающим такое страшное преступление?!
Ещё перед началом Альбигойского крестового похода, в 1199 году, Папа Инокентий III «милостиво» заявил: «Любой, исповедующий веру в бога, не совпадающую с церковной догмой, должен быть сожжён без малейшего на то сожаления». Крестовый поход на Катар назывался «За дело мира и веру»! (Negotium Pacis et Fidei)...
Прямо у алтаря, красивый молодой рыцарь пытался размозжить череп пожилому мужчине... Человек не умирал, его череп не поддавался. Молодой рыцарь спокойно и методично продолжал лупить, пока человек наконец-то последний раз не дёрнулся и не затих – его толстый череп, не выдержав, раскололся...
Объятая ужасом юная мать, в мольбе протянула ребёнка – через секунду, у неё в руках остались две ровные половинки...
Маленькая кудрявая девчушка, плача с перепугу, отдавала рыцарю свою куклу – самое дорогое своё сокровище... Голова куклы легко слетела, а за ней мячиком покатилась по полу и голова хозяйки...
Не выдержав более, горько рыдая, я рухнула на колени... Были ли это ЛЮДИ?! КАК можно было назвать вершившего такое зло человека?!
Я не хотела смотреть это дальше!.. У меня больше не оставалось сил... Но Север безжалостно продолжал показывать какие-то города, с полыхавшими в них церквями... Эти города были совершенно пустыми, не считая тысяч трупов, брошенных прямо на улицах, и разлившихся рек человеческой крови, утопая в которой пировали волки... Ужас и боль сковали меня, не давая хоть на минуту вдохнуть. Не позволяя шевельнуться...

Что же должны были чувствовать «люди», отдававшие подобные приказы??? Думаю, они не чувствовали ничего вообще, ибо черным-черны были их уродливые, чёрствые души.

Вдруг я увидела очень красивый замок, стены которого были местами повреждены катапультами, но в основном замок оставался целым. Весь внутренний двор был валом завален трупами людей, утопавших в лужах собственной и чужой крови. У всех было перерезано горло...
– Это Лавур (Lavaur), Изидора... Очень красивый и богатый город. Его стены были самыми защищёнными. Но озверевший от безуспешных попыток главарь крестоносцев Симон де Монтфор позвал на помощь весь сброд, какой только смог найти, и... 15 000 явившихся на зов «солдат Христовых» атаковали крепость... Не выдержав натиска, Лавур пал. Все жители, в том числе 400 (!!!) Совершенных, 42 трубадура и 80 рыцарей-защитников, зверски пали от рук «святых» палачей. Здесь, во дворе, ты видишь лишь рыцарей, защищавших город, и ещё тех, кто держал в руках оружие. Остальных же (кроме сожжённых Катар) зарезав, просто оставили гнить на улицах... В городском подвале убийцы нашли 500 спрятавшихся женщин и детей – их зверски убили прямо там... не выходя наружу...
Во двор замка какие-то люди привели, закованную цепями, симпатичную, хорошо одетую молодую женщину. Вокруг началось пьяное гиканье и хохот. Женщину грубо схватили за плечи и бросили в колодец. Из глубины тут же послышались глухие, жалобные стоны и крики. Они продолжались, пока крестоносцы, по приказу главаря, не завалили колодец камнями...
– Это была Дама Джиральда... Владелица замка и этого города... Все без исключения подданные очень любили её. Она была мягкой и доброй... И носила под сердцем своего первого нерождённого младенца. – Жёстко закончил Север.
Тут он посмотрел на меня, и видимо сразу же понял – сил у меня просто больше не оставалось...
Ужас тут же закончился.
Север участливо подошёл ко мне, и, видя, что я всё ещё сильно дрожу, ласково положил руку на голову. Он гладил мои длинные волосы, тихо шепча слова успокоения. И я постепенно начала оживать, приходя в себя после страшного, нечеловеческого потрясения... В уставшей голове назойливо кружился рой незаданных вопросов. Но все эти вопросы казались теперь пустыми и неуместными. Поэтому, я предпочитала ждать, что же скажет Север.
– Прости за боль, Изидора, но я хотел показать тебе правду... Чтобы ты поняла ношу Катар... Чтобы не считала, что они легко теряли Совершенных...
– Я всё равно не понимаю этого, Север! Так же, как я не могла понять вашу правду... Почему не боролись за жизнь Совершенные?! Почему не использовали то, что знали? Ведь почти что каждый из них мог одним лишь движением истребить целую армию!.. Зачем же было сдаваться?
– Наверное, это было то, о чём я так часто с тобой говорил, мой друг... Они просто не были готовы.
– Не готовы к чему?! – по старой привычке взорвалась я. – Не готовы сохранить свои жизни? Не готовы спасти других, страдавших людей?! Но ведь всё это так ошибочно!.. Это неверно!!!
– Они не были воинами, каким являешься ты, Изидора. – Тихо произнёс Север. – Они не убивали, считая, что мир должен быть другим. Считая, что они могли научить людей измениться... Научить Пониманию и Любви, научить Добру. Они надеялись подарить людям Знание... но не всем, к сожалению, оно было нужно. Ты права, говоря, что Катары были сильными. Да, они были совершенными Магами и владели огромной силою. Но они не желали бороться СИЛОЙ, предпочитая силе борьбу СЛОВОМ. Именно это их и уничтожило, Изидора. Вот почему я говорю тебе, мой друг, они были не готовы. А если уж быть предельно точным, то это мир не был готов к ним. Земля, в то время, уважала именно силу. А Катары несли Любовь, Свет и Знание. И пришли они слишком рано. Люди не были к ним готовы...
– Ну, а как же те сотни тысяч, что по всей Европе несли Веру Катар? Что тянулись к Свету и Знаниям? Их ведь было очень много!
– Ты права, Изидора... Их было много. Но что с ними стало? Как я уже говорил тебе раннее, Знание может быть очень опасным, если придёт оно слишком рано. Люди должны быть готовы, чтобы его принять. Не сопротивляясь и не убивая. Иначе это Знание не поможет им. Или ещё страшнее – попав в чьи-то грязные руки, оно погубит Землю. Прости, если тебя расстроил...
– И всё же, я не согласна с тобою, Север... Время, о котором ты говоришь, никогда не придёт на Землю. Люди никогда не будут мыслить одинаково. Это нормально. Посмотри на природу – каждое дерево, каждый цветок отличаются друг от друга... А ты желаешь, чтобы люди были похожи!.. Слишком много зла, слишком много насилия было показано человеку. И те, у кого тёмная душа, не хотят трудиться и ЗНАТЬ, когда возможно просто убить или солгать, чтобы завладеть тем, что им нужно. За Свет и Знание нужно бороться! И побеждать. Именно этого должно не хватать нормальному человеку. Земля может быть прекрасной, Север. Просто мы должны показать ей, КАК она может стать чистой и прекрасной...