Лекция 3 - Универсальный идентификатор ресурсов (URI), его

advertisement
Лекция 3 - Универсальный идентификатор ресурсов
(URI), его назначение и составные части.
Литература


Администрирование сети и сервисов InterNet. Учебное пособие, П.Б. Храмцов,
1997.
Лабиринт Internet. Павел Храмцов, Электронинформ, 1996.
3.1 Универсальный идентификатор ресурсов (URI), его назначение и составные
части.
URI (Uniform Resource Identifier, Универсальный идентификатор ресурса) (RFC 2396,
August 1998) - компактная строка символов для идентификации абстракного или
физического ресурса. Под ресурсом понимается любой объект, принадлежащий
некоторому пространству. Включает и переопределяет определенные ранее URL (RFC
1738/RFC 1808) и URN (RFC 2141, RFC 2611).
URI предназначен для уникальной идентификации любого ресурса.
Некоторые подмножества URI:
URL (Uniform Resource Locator, Универсальный указатель ресурса), - подмножество схем
URI, который идентифицирует ресурс по способу доступа к нему (например, его
"местонахождению в сети") вместо того, чтобы идентифицировать его по названию или
другим атрибутам этого ресурса.
Примеры URL:
http://www.ipm.kstu.ru/index.php
ftp://www.ipm.kstu.ru/
В HTML записывается так:
<a href="http://www.ipm.kstu.ru/index.php"></a>
URN (Uniform Resource Name, Универсальное имя ресурса) - частная URI-схема "urn:" с
подмножеством "пространства имен", который должен быть уникальным и неизменным
даже в том случае, когда ресурс уже не существует или недоступен.
Предполагается что, например браузер, знает, где искать этот ресурс.
Синтаксис:
urn:namespace: data1.data2,more-data, где namespace (пространство имен) определяет,
каким образом используются данные, указанные после второго ":".
Пример URN:
urn:ISBN: 0-395-36341-6
ISBN - тематический классификатор для издательств
0-395-36341-6 - конкретный номер тематики книги или журнала
При получении URN клиентская программа обращается к ISBN (каталогу "тематический
классификатор для издательств" в Интернете). И получает расшифровку номера тематики
"0-395-36341-6" (например: "квантовая химия").
URN массово используется в P2P сетях (подобных edonkey).
Пример URN указывающего на образ диска Adobe Photoshop v8.0 в сети edonkey:
urn:ed2k://|file|Adobe Photoshop v8.0.iso|940769280|b34c101c90b6dedb4071094cb1b9f2d3|/
где:
ed2k - указывает на сеть
file - файл
Adobe Photoshop v8.0.iso - название файла
940769280 - размер в байтах
b34c101c90b6dedb4071094cb1b9f2d3 - идентификатор файла (вычисляется с помощью
хеш-функции)
3.2 Универсальный указатель ресурса URL
URL - Uniform Resource Locators явно описывает, как добраться до объекта.
Синтаксис:
<scheme>:<scheme-specific-part>
где:
scheme = "http" | "ftp" | "gopher" | "mailto" | "news" | "telnet" | "file" | "man" | "info" | "whatis" |
"ldap" | "wais" | ... - имя схемы
scheme-specific-part - зависит от схемы
Имя схемы - последовательность символов [a-z0-9+.-].
В scheme-specific-part можно использовать шестнадцатеричные значения в виде: %5f.
Обязательно должны кодироваться непечатные октеты: 00-1F, 7F, 80-FF. Также всегда
кодируются "небезопасные" символы: " ", "<", ">", """, "#", "%", "{", "}", "|", "\", "^", "~",
"[", "]", "`". Некоторые схемы резервируют и другие символы: ";","/","?",":","@","=" и "&".
Их также необходимо кодировать, если хочется "обойти" их специальное трактование.
Таким образом остаются [a-z0-9$-_.+!*'(),] и резервированные символы в их специальном
значении для данной схемы.
3.3 Некоторые схемы URL
Схема HTTP. В схеме указывается ее идентификатор, адрес машины, TCP-порт, путь в
директории сервера, переменные и их значения, метка.
Синтаксис:
http://[<user>[:<password]>@]<host>[:<port>][/[<url-path>][?<query>]]
http - название схемы
user - имя пользователя
password - пароль пользователя
host - имя хоста
port - номер порта
url-path - путь к файлу и сам файл
query (<имя-поля>=<значение>{&<имя-поля>=<значение>) - строка запроса
Определен в RFC 2068. По умолчанию, port=80.
Примеры:
http://ipm.kstu.ru/internet/index.php
Это наиболее распространенный вид URI, применяемый в документах WWW. Вслед за
именем схемы (http) следует путь, состоящий из доменного адреса машины и полного
адреса HTML-документа в дереве сервера HTTP.
В качестве адреса машины допустимо использование и IP-адреса:
http://195.208.44.20/internet/index.php
Если сервер протокола HTTP запущен на другой, отличный от 80 порт TCP, то это
отражается в адресе:
http://195.208.44.20:8080/internet/index.php
При указании адреса ресурса возможна ссылка на метку внутри файла HTML. Для этого
вслед за именем документа может быть указана метка внутри документа:
http://195.208.44.20/internet/index.php#metka1
Символ "#" отделяет имя документа от имени метки.
Переменные и их значения передаются следующим образом:
http://ipm.kstu.ru/internet/index.php?var1=value1&vard2=value2
Значения "var1" и "var2" - это имена переменных, а "value1" и "value2" - их значения.
Схема FTP. Данная схема позволяет адресовать файловые архивы FTP.
Синтаксис:
ftp://[<user>[:<password]>@]<host>[:<port>][/<url-path>]
ftp - название схемы
user - имя пользователя
password - пароль пользователя
host - имя хоста
port - номер порта
url-path - путь к файлу и сам файл
Определен в RFC 1738. По умолчанию, port=21, user=anonymous, password=email-адрес,
если имя указано, а пароль нет, то он запрашивается в диалоге.
<url-path> имеет вид:
<cwd1>/<cwd2>/.../<cwdN>/<name>[;type=<typecode>], где <typecode>:
<url-path> преобразуется клиентской прграммой в набор команд
CWD <cwd1>
...
CWD <cwdN>
TYPE <typecode>
RETR <name>
Примеры:
ftp://ipm.kstu.ru/students/name/
Чтобы указать имя пользователя и его пароль, надо записать так:
ftp://name:password@ftp://ipm.kstu.ru/students/name/
В данном случае эти параметры отделены от адреса машины символом "@", а друг от
друга двоеточием.
Схема MAILTO. Данная схема предназначена для отправки почты.
Синтаксис:
mailto:[<e-mail-1>{,<e-mail-2>,...}][?<query>]
mailto - название схемы
e-mail-1 (<user>@<host>)- первый адрес электронной почты
user - имя пользователя
host - имя хоста
e-mail-2 - второй адрес электронной почты
query (<имя-поля-заголовка>=<значение>{&<имя-поля-заголовка>=<значение>) - строка
запроса
Примеры:
mailto:name@ipm.kstu.ru
В этой схеме передаются поля и их значения:
Пример:
mailto:name@ipm.kstu.ru?subject=Тема_письма&body=Текст_который
_будет_вставлен_в_письмо
Адрес получателя можно также записывать в виде значения поля to:
mailto:?to=name@ipm.kstu.ru?subject=Тема_письма&body=Текст_который
_будет_вставлен_в_письмо
Схема NEWS. Данная схема используется для просмотра сообщений системы Usenet.
Синтаксис:
news:[<article>@<group>]
news - название схемы
article - номер статьи
group - название группы
Пример:
news:comp.infosystems.gopher
В данном случае можно получить статьи из группы "comp.infosystems.gopher" в режиме
уведомления. Можно получить и текст статьи, но в этом случае указывают ее
идентификатор:
news:086@comp.infosystems.gopher
Заказана 86 статья из группы.
Схема NNTP. Это еще одна схема получения доступа к ресурсам Usenet.
Синтаксис:
nntp:[<group>/<article>]
nntp - название схемы
group - название группы
article - номер статьи
Пример:
В данной схеме обращение к группе comp.infosystems.gopher для получения статьи 86
будет выглядеть так:
nntp:comp.infosystems.gopher/086
Следует обратить внимание на то, что адрес сервера Usenet не указан. Программа-клиент
должна быть предварительно сконфигурирована на работу с одним из серверов Usenet.
Сама служба Usenet является распределенным информационным ресурсом, и группа
comp.infosystems.gopher на серверах содержит одни и те же сообщения.
Схема TELNET. По этой схеме осуществляется доступ к ресурсу в режиме удаленного
терминала. При использовании этой схемы необходимо указывать имя пользователя и
пароль.
Синтаксис:
telnet://[<user>[:<password]>@]<host>[:<port>]/
telnet - название схемы
user - имя пользователя
password - пароль пользователя
host - имя хоста
port - номер порта
По умолчанию, port=23.
Пример:
telnet://name:password@ipm.kstu.ru
Схема FILE. Для локального режима используют схему FILE.
Синтаксис:
file://<host>/<path>
file - название схемы
host - имя хоста
port - номер порта
path - путь к файлу и сам файл
В качестве <host> обычно указывается localhost
Пример:
file:///C|/text/html/index.htm
С - диск файловой системы (для Windows)
Клиент запускает только программы просмотра на основе MIME-типов из заголовка
сообщений сервера или по расширению файла
Download