Что включает в себя универсальный указатель ресурсов
Универсальный указатель ресурсов
Дата добавления: 2014-04-22 ; просмотров: 6169 ; Нарушение авторских прав
Найти Web-страницу или файл в Интернете можно с помощью универсального указателя ресурсов (адреса Web-страницы),
Универсальный указатель ресурсов (URL – Universal Resource Locator) включает в себя протокол доступа к документу, доменное имя или IP-адрес сервера, на котором находится документ, а также путь к файлу и собственно имя файла:
protocol://domain_name/path/file_name
Протокол доступа к документу определяет способ передачи информации. Для доступа к Web-страницам используется протокол передачи гипертекста НТТР (Hyper Text Transfer Protocol). При записи протокола после его имени следует двоеточие и два прямых слэша: http://.
Запишем URL-адрес титульной страницы Web-сайта газеты «Первое сентября»:
http://www/1september/ru/ru/first.htm
Он состоит из трех частей:
www/1september/ru – доменное имя сервера;
/ru/first.htm – полное имя файла.
Имя составлено по правилам операционной системы Unix, под управлением которой работают серверы Интернета. В отличие от Windows, вместо символа «\» (обратный слэш) здесь используется символ «/» (прямой слэш). Кроме того, строчные и прописные буквы не являются взаимозаменяемыми.
Web-браузер
Web-браузер – клиент-программа WWW Слово «browser» можно перевести как «обозреватель».
Браузеры — средство доступа к информационным ресурсам Всемирной паутины
Просмотр Web-страниц осуществляется с помощью специальных программ просмотра — браузеров. В настоящее время наиболее распространенными браузерами являются Internet Explorer (его русскоязычная версия часто называется Обозреватель) и Netscape Communicator (Коммуникатор). Если компьютер подключен к Интернету, то можно запустить один из браузеров и отправиться в виртуальное путешествие по Всемирной паутине.
Не нашли то, что искали? Google вам в помощь!
Сети и системы передачи информации
Универсальный идентификатор ресурсов (URI), его назначение и составные части.
URI предназначен для уникальной идентификации любого ресурса.
Некоторые подмножества URI:
В HTML записывается так:
Предполагается что, например браузер, знает, где искать этот ресурс.
urn:namespace: data1.data2,more-data, где namespace (пространство имен) определяет, каким образом используются данные, указанные после второго «:».
При получении 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|/
Универсальный указатель ресурса URL
В scheme-specific-part можно использовать шестнадцатеричные значения в виде: %5f. Обязательно должны кодироваться непечатные октеты: 00-1F, 7F, 80-FF. Также всегда кодируются «небезопасные» символы: » «, » «, «»», «#», «%», «<", ">«, «|», «\», «^», «
«, «[«, «]», «`». Некоторые схемы резервируют и другие символы: «;»,»/»,»?»,»:»,»@»,»=» и «&». Их также необходимо кодировать, если хочется «обойти» их специальное трактование. Таким образом остаются [a-z0-9$-_.+!*'(),] и резервированные символы в их специальном значении для данной схемы.
Некоторые схемы URL
Схема HTTP. В схеме указывается ее идентификатор, адрес машины, TCP-порт, путь в директории сервера, переменные и их значения, метка.
Определен в RFC 2068. По умолчанию, port=80.
Это наиболее распространенный вид URI, применяемый в документах WWW. Вслед за именем схемы (http) следует путь, состоящий из доменного адреса машины и полного адреса HTML-документа в дереве сервера HTTP.
В качестве адреса машины допустимо использование и IP-адреса:
Если сервер протокола HTTP запущен на другой, отличный от 80 порт TCP, то это отражается в адресе:
При указании адреса ресурса возможна ссылка на метку внутри файла HTML. Для этого вслед за именем документа может быть указана метка внутри документа:
Символ «#» отделяет имя документа от имени метки.
Переменные и их значения передаются следующим образом:
Схема FTP. Данная схема позволяет адресовать файловые архивы FTP.
Определен в RFC 1738. По умолчанию, port=21, user=anonymous, password=email-адрес, если имя указано, а пароль нет, то он запрашивается в диалоге.
имеет вид:
/ /. / / [;type= ], где :
преобразуется клиентской прграммой в набор команд
CWD
.
CWD
TYPE
RETR
Чтобы указать имя пользователя и его пароль, надо записать так:
В данном случае эти параметры отделены от адреса машины символом «@», а друг от друга двоеточием.
Схема MAILTO. Данная схема предназначена для отправки почты.
e-mail-1 ( @ )- первый адрес электронной почты
В этой схеме передаются поля и их значения:
Адрес получателя можно также записывать в виде значения поля to:
Схема NEWS. Данная схема используется для просмотра сообщений системы Usenet.
В данном случае можно получить статьи из группы «comp.infosystems.gopher» в режиме уведомления. Можно получить и текст статьи, но в этом случае указывают ее идентификатор:
Заказана 86 статья из группы.
Схема NNTP. Это еще одна схема получения доступа к ресурсам Usenet.
В данной схеме обращение к группе comp.infosystems.gopher для получения статьи 86 будет выглядеть так:
Следует обратить внимание на то, что адрес сервера Usenet не указан. Программа-клиент должна быть предварительно сконфигурирована на работу с одним из серверов Usenet. Сама служба Usenet является распределенным информационным ресурсом, и группа comp.infosystems.gopher на серверах содержит одни и те же сообщения.
Схема TELNET. По этой схеме осуществляется доступ к ресурсу в режиме удаленного терминала. При использовании этой схемы необходимо указывать имя пользователя и пароль.
По умолчанию, port=23.
Схема FILE. Для локального режима используют схему FILE.
В качестве обычно указывается localhost
Клиент запускает только программы просмотра на основе MIME-типов из заголовка сообщений сервера или по расширению файла.
Универсальные указатели ресурсов (URL-адреса) в WinHTTP
URL-адрес — это компактное представление расположения и метода доступа для ресурса, расположенного в Интернете. Каждый URL-адрес состоит из схемы (HTTP, HTTPS, FTP или gopher) и строки, зависящей от схемы. Эта строка может также содержать сочетание пути к каталогу, строки поиска или имени ресурса. функции служб Microsoft Windows HTTP (WinHTTP) обеспечивают возможность создания, объединения, разбиения на себя и канонизировать url-адресов. Дополнительные сведения см. в статьях rfc 1738, универсальные указатели ресурсов и RFC 2396, универсальные идентификаторы ресурсов (URI): универсальный синтаксис.
Что такое канонический URL-адрес?
Заданный синтаксис и семантика URL-адресов оставляет место для вариации и ошибок. Каноническая обработка — это процесс нормализации фактического URL-адреса в правильную, стандартную, каноническую форму.
,, [ ] и») и все символы с кодовой точкой выше 127.
Использование функций WinHTTP для управления URL-адресами
WinHTTP предоставляет две функции для обработки URL-адресов. Винхттпкраккурл разделяет URL-адрес на части его компонентов, а винхттпкреатеурл создает URL-адрес из компонентов.
Отделение URL-адресов
Если элемент указателя содержит указатель на буфер, элемент длины строки должен содержать размер этого буфера. Функция винхттпкраккурл возвращает сведения о компоненте в виде строки в буфере и сохраняет длину строки в члене длины строки.
Если для элемента указателя задано значение NULL, то элементу длины строки может быть присвоено любое ненулевое значение. Функция винхттпкраккурл сохраняет указатель на первый символ строки URL-адреса, который содержит сведения о компоненте, и задает длину строки, равную количеству символов в оставшейся части строки URL-адреса, относящейся к компоненту.
Все члены-указатели имеют значение NULL с ненулевой точкой члена, соответствующей отправной точке в строке URL. Длину, хранящуюся в члене length, необходимо использовать для определения конца данных отдельного компонента.
Создание URL-адресов
Функция винхттпкреатеурл использует сведения в описанной выше структуре _ компонентов URL-адреса для создания URL-адреса.
Для каждого обязательного компонента член-указатель должен содержать указатель на буфер, содержащий данные. Элемент length должен иметь нулевое значение, если элемент указателя содержит указатель на строку, завершающуюся нулем; элемент length должен быть установлен в значение длины строки, если элемент указателя содержит указатель на строку, которая не завершается нулем. Элемент указателя всех компонентов, которые не являются обязательными, должен иметь значение null.
Пример кода
В следующем примере кода показано, как использовать винхттпкраккурл и винхттпкреатеурл для РАЗГРУППИРОВАНИЯ существующего URL-адреса, изменения одного из его компонентов и его сборки в новый URL-адрес.
Обработка указателей универсальных ресурсов
Универсальный указатель ресурсов (URL) — это компактное представление расположения и метода доступа для ресурса, расположенного в Интернете. Каждый URL-адрес состоит из схемы (HTTP, HTTPS или FTP) и строки, зависящей от схемы. Эта строка может также содержать сочетание пути к каталогу, строки поиска или имени ресурса. Функции WinINet предоставляют возможность создавать, объединять, разбивать и канонизировать URL-адреса. Дополнительные сведения об URL-адресах см. в документе RFC-1738 по универсальным указателям ресурсов (URL).
Что такое канонический URL-адрес?
Формат всех URL-адресов должен соответствовать принятому синтаксису и семантике для доступа к ресурсам через Интернет. Каноническая обработка — это процесс форматирования URL-адреса для соблюдения синтаксиса и семантики.
Использование функций WinINet для управления URL-адресами
В следующей таблице перечислены функции URL-адресов.
Функция | Описание |
---|---|
интернетканоникализеурл | Каноникализес URL-адрес. |
интернеткомбинеурл | Объединяет базовый и относительный URL-адрес. |
интернеткраккурл | Выполняет синтаксический анализ строки URL-адреса в компоненты. |
интернеткреатеурл | Создает строку URL-адреса из компонентов. |
интернетопенурл | Начинает получение ресурса FTP, HTTP или HTTPS. |
URL-адреса канонизацию
Канонизацию URL-адрес — это процесс, который преобразует URL-адрес, который может содержать ненадежные символы, такие как пробелы, зарезервированные символы и т. д., в допустимый формат.
Функцию интернетканоникализеурл можно использовать для канонизировать URL-адресов. Эта функция ориентирована на задачи, поэтому приложение должно внимательно отслеживать его использование. Интернетканоникализеурл не проверяет, что переданный в него URL-адрес уже каноническ и что возвращаемый им URL-адрес является допустимым.
Следующие пять флагов управляют тем, как интернетканоникализеурл обрабатывает конкретный URL-адрес. Флаги можно использовать в сочетании. Если флаги не используются, функция кодирует URL-адрес по умолчанию.
Значение | Значение |
---|---|
_режим браузера _ ICU | Не закодировать или декодировать символы после » # » или «?» и не удалять конечные пробелы после «?». Если это значение не указано, то кодируется весь URL-адрес, а конечные пробелы удаляются. |
декодирование ICU _ | Преобразование всех последовательностей% XX в символы, включая escape-последовательности, перед синтаксическим анализом URL. |
ICU _ _ только символы _ кодирования | Закодировать только пробелы. |
ICU _ без _ кодирования | Не преобразуйте ненадежные символы в escape-последовательности. |
ICU _ нет _ мета | Не удаляйте в URL-адресе метаданные (например, «.» и «..»). |
_Флаг декодирования ICU должен использоваться только для канонических URL-адресов, так как предполагается, что все последовательности% XX являются управляющими кодами Escape-кодов и преобразуют их в символы, указанные в коде. Если в URL-адресе есть символ «%», который не является частью Escape-кода, ICU _ декодирование все еще обрабатывает его как один. Эта характеристика может привести к тому, что интернетканоникализеурл создаст недопустимый URL-адрес.
Объединение базового и относительного URL-адреса
Взлом URL-адресов
Если элемент указателя содержит адрес буфера, то элемент длины строки должен содержать размер этого буфера. Интернеткраккурл возвращает сведения о компоненте в виде строки в буфере и сохраняет длину строки в члене длины строки.
Если элемент указателя имеет значение NULL, то элементу длины строки может быть присвоено любое ненулевое значение. Интернеткраккурл хранит адрес первого символа строки URL-адреса, содержащей сведения о компоненте, и задает длину строки, равную количеству символов в оставшейся части строки URL-адреса, относящейся к компоненту.
Все члены-указатели имеют значение NULL с ненулевой точкой члена, соответствующей отправной точке в строке URL. Длину, хранящуюся в члене length, необходимо использовать для определения конца данных отдельного компонента.
Следующий пример возвращает компоненты URL-адреса в поле ввода, IDC _ PreOpen1 и возвращает компоненты в список, IDC _ преопенлист. Чтобы отобразить только сведения об отдельном компоненте, эта функция копирует символ непосредственно после сведений о компоненте в строке и временно заменяет его значением NULL.
Создание URL-адресов
Функция интернеткреатеурл использует сведения в структуре _ компонентов URL-адреса для создания унифицированного указателя ресурса.
Для каждого обязательного компонента член указателя должен содержать адрес буфера, содержащего данные. Элемент length должен иметь нулевое значение, если элемент указателя содержит адрес строки, завершающейся нулем; элементу length должна быть присвоена длина строки, если элемент указателя содержит адрес строки, которая не завершается нулем. Элемент указателя всех компонентов, которые не являются обязательными, должен иметь значение NULL.
Прямой доступ к URL-адресам
Для приложений, которые должны работать через прокси-сервер CERN, интернетопенурл можно использовать для доступа к каталогам и файлам FTP. Запросы FTP упаковываются в виде HTTP-запроса, который будет принимать прокси-сервер CERN.
На следующей схеме показано, какие дескрипторы используются для каждой функции.
WinINet не поддерживает реализации серверов. Кроме того, его не следует использовать из службы. для серверных реализаций или служб используйте Microsoft Windows HTTP services (WinHTTP).
Интернет технологии (архив ИПМ 2001-2010, Богомолов)
3.1 Универсальный идентификатор ресурсов (URI), его назначение и составные части.
URI предназначен для уникальной идентификации любого ресурса.
Некоторые подмножества URI:
В HTML записывается так:
Предполагается что, например браузер, знает, где искать этот ресурс.
urn:namespace: data1.data2,more-data, где namespace (пространство имен) определяет, каким образом используются данные, указанные после второго «:».
При получении 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|/
3.2 Универсальный указатель ресурса URL
В scheme-specific-part можно использовать шестнадцатеричные значения в виде: %5f. Обязательно должны кодироваться непечатные октеты: 00-1F, 7F, 80-FF. Также всегда кодируются «небезопасные» символы: » «, » «, «»», «#», «%», «<", ">«, «|», «\», «^», «
«, «[«, «]», «`». Некоторые схемы резервируют и другие символы: «;»,»/»,»?»,»:»,»@»,»=» и «&». Их также необходимо кодировать, если хочется «обойти» их специальное трактование. Таким образом остаются [a-z0-9$-_.+!*'(),] и резервированные символы в их специальном значении для данной схемы.
3.3 Некоторые схемы URL
Схема HTTP. В схеме указывается ее идентификатор, адрес машины, TCP-порт, путь в директории сервера, переменные и их значения, метка.
Определен в RFC 2068. По умолчанию, port=80.
Это наиболее распространенный вид URI, применяемый в документах WWW. Вслед за именем схемы (http) следует путь, состоящий из доменного адреса машины и полного адреса HTML-документа в дереве сервера HTTP.
В качестве адреса машины допустимо использование и IP-адреса:
Если сервер протокола HTTP запущен на другой, отличный от 80 порт TCP, то это отражается в адресе:
При указании адреса ресурса возможна ссылка на метку внутри файла HTML. Для этого вслед за именем документа может быть указана метка внутри документа:
Символ «#» отделяет имя документа от имени метки.
Переменные и их значения передаются следующим образом:
Схема FTP. Данная схема позволяет адресовать файловые архивы FTP.
Определен в RFC 1738. По умолчанию, port=21, user=anonymous, password=email-адрес, если имя указано, а пароль нет, то он запрашивается в диалоге.
имеет вид:
/ /. / / [;type= ], где :
преобразуется клиентской прграммой в набор команд
CWD
.
CWD
TYPE
RETR
Чтобы указать имя пользователя и его пароль, надо записать так:
В данном случае эти параметры отделены от адреса машины символом «@», а друг от друга двоеточием.
Схема MAILTO. Данная схема предназначена для отправки почты.
e-mail-1 ( @ )- первый адрес электронной почты
В этой схеме передаются поля и их значения:
Адрес получателя можно также записывать в виде значения поля to:
Схема NEWS. Данная схема используется для просмотра сообщений системы Usenet.
В данном случае можно получить статьи из группы «comp.infosystems.gopher» в режиме уведомления. Можно получить и текст статьи, но в этом случае указывают ее идентификатор:
Заказана 86 статья из группы.
Схема NNTP. Это еще одна схема получения доступа к ресурсам Usenet.
В данной схеме обращение к группе comp.infosystems.gopher для получения статьи 86 будет выглядеть так:
Следует обратить внимание на то, что адрес сервера Usenet не указан. Программа-клиент должна быть предварительно сконфигурирована на работу с одним из серверов Usenet. Сама служба Usenet является распределенным информационным ресурсом, и группа comp.infosystems.gopher на серверах содержит одни и те же сообщения.
Схема TELNET. По этой схеме осуществляется доступ к ресурсу в режиме удаленного терминала. При использовании этой схемы необходимо указывать имя пользователя и пароль.
По умолчанию, port=23.
Схема FILE. Для локального режима используют схему FILE.
В качестве обычно указывается localhost
Клиент запускает только программы просмотра на основе MIME-типов из заголовка сообщений сервера или по расширению файла.