Адресация Web-ресурсов в Internet
Идентификация типов, методов работы и компьютеров, на которых находятся определенные ресурсы, доступные через Internet, выполняется с помощью унифицированного идентификатора ресурса – URI (Uniform Resource Identifier). Для указания ресурсов используются также термины: унифицированный указатель ресурсов URL (Uniform Resource Locator) и унифицированное имя ресурса URN (Uniform Resource Name).
В настоящее время считается, что URL и URN являются частными случаями URI. Так URL – это URI, который, помимо идентификации ресурса, содержит адрес этого ресурса. Например адрес URL:
http://www.mysite.com/index.html
указывает, что ресурс (Web-страница с именем index.html) находится по адресу www.mysite.com.
URN идентифицирует ресурс в определенном пространстве имен, т.е. в определенном контексте. Так ссылка URN
urn:ISBN:0-395-36341-1
указывает на ресурс (книгу) 0-395-36341-1 в пространстве имён ISBN. Это пространство имен ISBN (International Standard Book Number – международный стандартный номер книги) содержит уникальные номера книжного издания, необходимые для распространения книги в торговых сетях и автоматизации работы с изданием.
В дальнейшем для адресации ресурса в данной дисциплине будет использоваться термин URL
Указатель URL имеет следующий общий формат:
схема://адрес-ресурса
где параметр схема указывает способ доступа к ресурсу (в большинстве случаев это сетевой протокол, с помощью которого выполняется доступ к данным), а адрес-ресурса идентифицирует имя ресурса и путь доступа к нему.
В URL допустимыми являются только символы латинских букв и некоторые знаки препинания (например, знак подчеркивания "_"). Если в адресе содержится пробелы или другие знаки препинания, они обозначаются их шестнадцатеричным кодом с символом "%" впереди. Так символ пробела обозначается в URL как %20, символ двоеточия как %3A и т.д. Если необходимо представить в адресе буквы других алфавитов, например, кириллицы или французского языка, то каждый символ представляется в кодировке Unicode UTF-8, а затем перед каждым байтом символа ставится знак "%". Например, слово крот кодируется как %D0%BA%D1%80%D0%BE%D1%82. Такое кодирование является очень неудобным, поэтому в 2005 году был принят стандарт IRI (Internationalized Resource Identifier – интернационализированный идентификатор ресурса), решающий эту проблему (строка адреса ресурса состоит из символов в кодировке Unicode). Однако в настоящее время этот стандарт еще не получил широкого распространения.
Для доступа к Web-ресурсам используется следующий общий формат:
http://сервер:порт/путь-доступа/имя-файла?параметры-доступа
Параметр сервер указывает адрес Web-сервера. Параметр порт указывает номер порта, по которому в компьютере осуществляется доступ к указанному протоколу. Если номер порта совпадает с номером, принятым для протокола HTTP по умолчанию (порт 80), данный параметр, вместе с предшествующим двоеточием, можно опустить.
Параметр путь-доступа указывает путь к данному ресурсу в форме, принятой в UNIX. При использовании протокола HTTP, если в качестве ресурса указывается так называемая домашняя страница Web-сервера, этот параметр можно опустить.
Если необходимо получить доступ к конкретному файлу, можно указать его имя в параметре имя-файла (если параметр имя-файла опущен, вызывается так называемая домашняя страница данного каталога).
Если файл, к которому выполняется доступ, является документом HTML и имеет метки (anchors), можно получить доступ к отдельному помеченному фрагменту файла, задав параметр имя-файла в следующем виде:
имя-файла#метка
Строка параметров-доступа состоит из последовательностей символов (лексем), разделяемых символом "&". Каждая лексема состоит из имени параметра и его значения, разделенных символом "=". Нетекстовые символы, а также символы второй половины кодовой таблицы ASCII (в том числе и русские буквы) заменяются знаком "%" и шестнадцатеричным значением этого символа (например, символ пробела заменяется последовательностью символов "%20"). Для указанного ресурса вся строка параметров является символьной строкой, поэтому тип, очередность или уникальность имен отдельных параметров строки не существенны.
Пример 4.2.1. Задание URL для протокола HTTP:
1. Файл readme.htm, расположенный на WWW-сервере фирмы Microsoft, представляет собой ресурс с URL:
http://www.microsoft.com/readme.htm
Если необходимо получить доступ к разделу этого файла, помеченного меткой part3, то необходимо задать URL в следующем виде:
http://www.microsoft.com/readme.htm#part3
2. Доступ к программе login.php, расположенной на Web-сервере www.company.com описывается следующим URL:
http://www.company.com/bin/login.php?name=John&password=stud1
При запуске программы на языке PHP login.php на Web-сервере ей будут переданы два параметра: name со значением John и password со значением stud1.
Протокол file указывает на файл, расположенный на удаленном или локальном компьютере. С помощью этого протокола Web-браузер может просматривать файлы, расположенные на локальном компьютере пользователя или на других компьютерах локальной сети.
Для протокола file указатель URL имеет следующий общий формат:
file://сервер/имя-диска/путь-доступа/имя-файла
Если параметр сервер опущен, то предполагается локальный компьютер.
В некоторых ситуациях необходимо получить доступ к файлу, расположенному на другом компьютере локальной сети. На компьютерах под управлением Windows в равноранговой локальной сети формат доступа в этом случае имеет следующий вид:
file://\\имя-компьютера\имя-диска\путь-доступа\имя-файла
Пример 4.2.2. Задание URL для протокола file:
1. file:///c:/Web/testpage.html
Запрос на доступ к файлу testpage.html в каталоге Web диска c: на локальном компьютере.
2. file://\\pc1\C\Netlog.txt
Запрос на доступ к файлу Netlog.txt на диске C компьютера pc1 в локальной сети.
Для доступа к Web-ресурсам на локальном компьютере можно также задать полное имя файла.
Пример 4.2.3. Доступ к Web-ресурсу на локальном компьютере с использованием полного имени файла:
c:/Web/testpage.html