URL

Материал из Викиреальностя
Перейти к: навигация, поиск
Я вам кину ссылочку

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

Содержание

[править] История

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

[править] Структура

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

Графически она выражается так[1]:

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

Где:
  • схема — схема или метод обращения к ресурсу; в большинстве случаев имеется в виду сетевой протокол (обычно http(s), mailto, irc, ftp)
  • логин — имя пользователя, используемое для доступа к ресурсу
  • пароль — пароль указанного пользователя
  • хост — имя сервера, сетевое имя машины; полностью прописанное символьное доменное имя хоста в системе DNS или IP-адрес хоста в форме четырёх групп десятичных чисел, разделённых точками; числа — целые в интервале от 0 до 255. Если имя сервера не указано, создаётся локальная ссылка.
  • порт — порт хоста для подключения. Номер порта TCP, на котором работает веб-сервер. Для веб-серверов указание порта в большинстве случаев необязательно и по умолчанию используется порт 80.
  • URL-путь — уточняющая информация о месте нахождения ресурса; зависит от протокола. Для http: это относительный или абсолютный путь к веб-странице на сервере. Для mailto: — адрес электронной почты ... .
  • параметры — строка запроса с передаваемыми на сервер (методом GET) параметрами. Разделитель параметров — знак &. Пример:
    ?параметр_1=значение_1&параметр_2=значение_2&параметр3=значение_3
  • якорь — идентификатор «якоря», ссылающегося на некоторую часть (раздел) открываемого документа. С развитием AJAX в этой части стали размещать параметры для JavaScript на странице, и страница в зависимости от указанного якоря может в браузере выглядеть по-разному. Для обеспечения возможности индексирования подобных страниц поисковыми системами компания Google предложила подход, предполагающий использование знака ! в начале якоря и некоторую поддержку на сервере сайта[2].[3]

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

[править] Схемы (протоколы)

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

  • ftp — Протокол передачи файлов FTP
  • http — Протокол передачи гипертекста HTTP
  • rtmp — Real Time Messaging Protocol проприетарный протокол потоковой передачи данных, в основном используется для передачи потокового видео и аудиопотоков с веб-камер через интернет.
  • rtsp — Потоковый протокол реального времени.
  • https — Специальная реализация протокола HTTP, использующая шифрование (как правило, SSL или TLS)
  • gopher — Протокол Gopher. Стандартный порт — 70.
  • mailto — Адрес электронной почты
  • news — Новости Usenet. Стандартный порт — 119.
  • nntp — Новости Usenet через протокол NNTP
  • irc — Протокол IRC
  • prospero — Служба каталогов Prospero Directory Service
  • telnet — Ссылка на интерактивную сессию Telnet. Стандартный порт — 23.[5]
  • 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 Маркет


[6]

[править] Указание пути в URL

[править] Ссылки на веб-серверах

В URL допускается указание абсолютного или относительного пути к файлам или директориям.

  • Абсолютный путь — полный путь к файлу или веб-странице, указываемый от корня файловой системы сервера, обозначаемого прямым слэшем /.
    протокол://домен/папка/файл.расширение — на другой машине в сети. Начинается с указания протокола и доменного имени, затем корня файловой системы.
    /папка/файл.расширение — на локальной машине.
  • Относительный путь — путь к файлу или веб-документу относительно папки с веб-страницей, на которой размещена ссылка. Задаётся без начального слэша.
    файл.расширение — ссылка на файл в той же папке, где находится веб-страница.
    подпапка/файл.расширение — ссылка на файл в директории, находящейся в той же папке, что и веб-страница.
    ../файл.расширение — ссылка на файл в папке на уровень выше. Переход на уровень вверх обозначается двоеточием.

В некоторых случаях допускается указание доменного имени или папки без указания файла. Веб-сервер в таком случае автоматически подставляет стандартное имя индексного файла index.html, указанное в настройках, например в .htaccess. Если индексный файл не найден, то, в зависимости от настроек сервера, выдаётся листинг всех файлов в папке или страница серверной ошибки.

  • Абсолютный путь:
    протокол://домен — указание доменного имени.
    протокол://домен/папка/ — указание папки.
    / — указание корня файловой системы локального сервера.
    /папка/ — указание папки локального сервера.
  • Относительный путь:
    папка/ — указание папки локального сервера в той же папке, что и веб-страница.
    ../папка/ — указание папки локального сервера в родительской папке на уровень выше.

[править] Кодирование URL

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

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

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

[править] Инициатива PURL

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

[править] Виды ссылок

  • Битая ссылка — url, ссылающийся на несуществующий или прекративший существование интернет-сайт или интернет-страницу.
  • Упоминание — неактивная ссылка, представляющая собой обычный текст с адресом сайта, не являющийся гипертекстом.[7]
  • Поддельные ссылки — используемые злоумышленниками для обмана интернет-пользователей

В википроектах:

[править] Ссылки

[править] См. также

[править] Примечания

URL относится к темам: