URL

Поделись знанием:
(перенаправлено с «Url»)
Перейти к: навигация, поиск

Единый указатель ресурса (англ. 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

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

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

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

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

Схемы (протоколы) 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 русский язык. Например, строка вида:

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

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

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. [www.rian.ru/science/20091014/188848694.html Двойной слеш в адресах интернета появился из-за спешки его создателя]. РИА Новости (2009-10-14 19:05). Проверено 11 июля 2010. [www.webcitation.org/61BpV4obP Архивировано из первоисточника 25 августа 2011].
  2. [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. [web.archive.org/web/20131109201144/habrahabr.ru/post/68631/ HTTP, RFC 3986 и браузеры]
  7. [www.flickr.com/services/api/misc.urls.html#short Flickr Services]
  8. [support.microsoft.com/ru-ru/kb/208427 Максимальная длина URL-адреса в Internet Explorer составляет 2083 символа]. microsoft.com.

Ссылки

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

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

Со времени этого известия и до конца кампании вся деятельность Кутузова заключается только в том, чтобы властью, хитростью, просьбами удерживать свои войска от бесполезных наступлений, маневров и столкновений с гибнущим врагом. Дохтуров идет к Малоярославцу, но Кутузов медлит со всей армией и отдает приказания об очищении Калуги, отступление за которую представляется ему весьма возможным.
Кутузов везде отступает, но неприятель, не дожидаясь его отступления, бежит назад, в противную сторону.
Историки Наполеона описывают нам искусный маневр его на Тарутино и Малоярославец и делают предположения о том, что бы было, если бы Наполеон успел проникнуть в богатые полуденные губернии.
Но не говоря о том, что ничто не мешало Наполеону идти в эти полуденные губернии (так как русская армия давала ему дорогу), историки забывают то, что армия Наполеона не могла быть спасена ничем, потому что она в самой себе несла уже тогда неизбежные условия гибели. Почему эта армия, нашедшая обильное продовольствие в Москве и не могшая удержать его, а стоптавшая его под ногами, эта армия, которая, придя в Смоленск, не разбирала продовольствия, а грабила его, почему эта армия могла бы поправиться в Калужской губернии, населенной теми же русскими, как и в Москве, и с тем же свойством огня сжигать то, что зажигают?
Армия не могла нигде поправиться. Она, с Бородинского сражения и грабежа Москвы, несла в себе уже как бы химические условия разложения.
Люди этой бывшей армии бежали с своими предводителями сами не зная куда, желая (Наполеон и каждый солдат) только одного: выпутаться лично как можно скорее из того безвыходного положения, которое, хотя и неясно, они все сознавали.
Только поэтому, на совете в Малоярославце, когда, притворяясь, что они, генералы, совещаются, подавая разные мнения, последнее мнение простодушного солдата Мутона, сказавшего то, что все думали, что надо только уйти как можно скорее, закрыло все рты, и никто, даже Наполеон, не мог сказать ничего против этой всеми сознаваемой истины.
Но хотя все и знали, что надо было уйти, оставался еще стыд сознания того, что надо бежать. И нужен был внешний толчок, который победил бы этот стыд. И толчок этот явился в нужное время. Это было так называемое у французов le Hourra de l'Empereur [императорское ура].
На другой день после совета Наполеон, рано утром, притворяясь, что хочет осматривать войска и поле прошедшего и будущего сражения, с свитой маршалов и конвоя ехал по середине линии расположения войск. Казаки, шнырявшие около добычи, наткнулись на самого императора и чуть чуть не поймали его. Ежели казаки не поймали в этот раз Наполеона, то спасло его то же, что губило французов: добыча, на которую и в Тарутине и здесь, оставляя людей, бросались казаки. Они, не обращая внимания на Наполеона, бросились на добычу, и Наполеон успел уйти.
Когда вот вот les enfants du Don [сыны Дона] могли поймать самого императора в середине его армии, ясно было, что нечего больше делать, как только бежать как можно скорее по ближайшей знакомой дороге. Наполеон, с своим сорокалетним брюшком, не чувствуя в себе уже прежней поворотливости и смелости, понял этот намек. И под влиянием страха, которого он набрался от казаков, тотчас же согласился с Мутоном и отдал, как говорят историки, приказание об отступлении назад на Смоленскую дорогу.
То, что Наполеон согласился с Мутоном и что войска пошли назад, не доказывает того, что он приказал это, но что силы, действовавшие на всю армию, в смысле направления ее по Можайской дороге, одновременно действовали и на Наполеона.


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



Бородинское сражение с последовавшими за ним занятием Москвы и бегством французов, без новых сражений, – есть одно из самых поучительных явлений истории.
Все историки согласны в том, что внешняя деятельность государств и народов, в их столкновениях между собой, выражается войнами; что непосредственно, вследствие больших или меньших успехов военных, увеличивается или уменьшается политическая сила государств и народов.
Как ни странны исторические описания того, как какой нибудь король или император, поссорившись с другим императором или королем, собрал войско, сразился с войском врага, одержал победу, убил три, пять, десять тысяч человек и вследствие того покорил государство и целый народ в несколько миллионов; как ни непонятно, почему поражение одной армии, одной сотой всех сил народа, заставило покориться народ, – все факты истории (насколько она нам известна) подтверждают справедливость того, что большие или меньшие успехи войска одного народа против войска другого народа суть причины или, по крайней мере, существенные признаки увеличения или уменьшения силы народов. Войско одержало победу, и тотчас же увеличились права победившего народа в ущерб побежденному. Войско понесло поражение, и тотчас же по степени поражения народ лишается прав, а при совершенном поражении своего войска совершенно покоряется.
Так было (по истории) с древнейших времен и до настоящего времени. Все войны Наполеона служат подтверждением этого правила. По степени поражения австрийских войск – Австрия лишается своих прав, и увеличиваются права и силы Франции. Победа французов под Иеной и Ауерштетом уничтожает самостоятельное существование Пруссии.
Но вдруг в 1812 м году французами одержана победа под Москвой, Москва взята, и вслед за тем, без новых сражений, не Россия перестала существовать, а перестала существовать шестисоттысячная армия, потом наполеоновская Франция. Натянуть факты на правила истории, сказать, что поле сражения в Бородине осталось за русскими, что после Москвы были сражения, уничтожившие армию Наполеона, – невозможно.
После Бородинской победы французов не было ни одного не только генерального, но сколько нибудь значительного сражения, и французская армия перестала существовать. Что это значит? Ежели бы это был пример из истории Китая, мы бы могли сказать, что это явление не историческое (лазейка историков, когда что не подходит под их мерку); ежели бы дело касалось столкновения непродолжительного, в котором участвовали бы малые количества войск, мы бы могли принять это явление за исключение; но событие это совершилось на глазах наших отцов, для которых решался вопрос жизни и смерти отечества, и война эта была величайшая из всех известных войн…
Период кампании 1812 года от Бородинского сражения до изгнания французов доказал, что выигранное сражение не только не есть причина завоевания, но даже и не постоянный признак завоевания; доказал, что сила, решающая участь народов, лежит не в завоевателях, даже на в армиях и сражениях, а в чем то другом.