Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / HTML / Не для новичков / Приложения /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Унифицированные идентификаторы ресурсов - Программирование от RIN.RU
Унифицированные идентификаторы ресурсов

Полные URI


Любой ресурс в Сети, будь то HTML-документ, графический образ, видеоклип или программа, имеет уникальный адрес, по которому этот ресурс может быть найден. Такой универсальный адрес называется унифицированным идентификатором ресурса (URI, Universal Resource Identifier). Общий вид URI таков:




протокол://авторизация/путь?запрос




причем обязательным элементом здесь является только протокол, а наличие или отсутствие остальных элементов определяются конкретным протоколом. Элементы URI имеют следующий смысл:



  • протокол - именованная схема доступа к ресурсу;


  • авторизация - авторизация доступа к ресурсу;


  • путь - путь доступа к ресурсу на сервере;


  • запрос - строка информации, передаваемая ресурсу для интерпретации.





Таблица 1. Имена стандартных протоколов
НазваниеОписаниеПорт IP
fileДисковые файлы сервера или клиента 
ftpПротокол передачи файлов (FTP, File Transfer Protocol)20, 21
gopherПротоколы Gopher и Gopher+ 
httpПротокол передачи гипертекста (HTTP, HyperText Transfer Protocol)80
mailtoЭлектронная почта (SMTP, Simple Mail Transfer Protocol)25
newsГруппы новостей USENET144
nntpГруппы новостей USENET с доступом NNTP (Network News Transfer Protocol)119
prosperoСлужба каталогов Prospero 
telnetИнтерактивные сеансы TELNET23
waisИнформационная система WAIS (Wide Area Information Servers) 



Авторизация в общем виде выглядит так:


пользователь@сервер:порт




где



  • пользователь - имя пользователя и, возможно, его пароль, определяющие права доступа к ресурсу;


  • сервер - имя сервера, на котором расположен ресурс;


  • порт - номер IP-порта.





Обязательным компонентом авторизации является только сервер. Сервер может быть задан либо именем домена, либо IP-адресом. Порт указывается крайне редко, т. к. TCP/IP определяет стандартные номера портов для всех основных протоколов (см. Таблицу П2.1 и RFC 1700).


Отметим, что пользователь иногда передается в виде имя:пароль, что является рискованным с точки зрения сохранения данной информации в тайне.


Проиллюстрируем приведенное описание на типичных примерах:



file://\D:\Doc\HTML4\intro\intro.html


доступ к локальному файлу Windows


ftp://ftp.is.co.za/rfc/rfc1808.txt


доступ к файлу по протоколу FTP


gopher://spinaltap.micro.umn.edu/00/Weather/California/Los%20Angeles


доступ к службам Gopher и Gopher+


http://www.math.uio.no/faq/compression-faq/part1.html


доступ к HTML-документу по протоколу HTTP


http://www.webdev.com/cgi-bin/load.cgi?name=xxx&id=56789


запуск CGI-сценария с двумя параметрами


mailto:[email protected]


доступ к адресу <a href="glossary.htm#email">электронной почты</a>


news:comp.infosystems.www.servers.unix


доступ к группам новостей USENET


telnet://melvyl.ucop.edu/


доступ к интерактивным службам по протоколу TELNET


wais://quake.think.com/wais-discussion-archives?salinger


поиск на информационном сервере WAIS ключевого слова salinger





Примечание. И в литературе, и в устном общении часто употребляются термины URL (Uniform Resource Locator) и URN (Uniform Resource Name). Мы используем вместо них единый термин URI, как это рекомендовано в RFC 2396; этот же термин употребляется во всех документах W3C.


Относительные URI


Относительные URI отличаются от полных тем, что не содержат элемента протокол. Они применяются в тех случаях, когда тем или иным способом определен базовый URI для набора ресурсов, и URI этих ресурсов указываются относительно базового URI. Например, в HTML-документе базовый URI задается элементом BASE в заголовке документа, либо совпадает с URI самого документа, если элемента BASE нет. Не описывая алгоритм приведения относительных URI к полным, приведем три простых примера, дающих понимание этого алгоритма, достаточное для практического применения. Пусть базовый URI имеет вид


http://www.web.com/faq/part1.html




Тогда


part2.html эквивалентен http://www.web.com/faq/part2.html


next-faq/part3.html эквивалентен http://www.web.com/faq/next-faq/part3.html


../images/logo.gif эквивалентен http://www.web.com/images/logo.gif




Две точки с последующей дробной чертой (../) означают, что нужно перейти по дереву каталогов на один уровень вверх.


Закладки


Если ресурс является HTML-документом, то его URI может содержать дополнительный элемент:


http://сервер/путь#закладка




Закладка - это поименованная позиция в HTML-документе, на которую могут ссылаться другие документы. Для создания закладки используется анкер вида



<A name="имя_закладки">...</A>





Пример ссылки на закладку в документе:



<A href="http://www.math.uio.no/faq/compression-faq/part1.html#ref1">
Щелкните для перехода к ссылке 1 части 1</A>





В простейшем случае URI может состоять только из закладки. Это означает, что поиск закладки должен производиться в текущем документе:



<A href="#glossary">Глоссарий</A>





Кодировка и декодировка URI


Все элементы URI должны состоять только из символов базовой латиницы. Для того, чтобы включить в них другие символы (например, при передаче CGI-сценарию запроса на поиск русской фразы), следует преобразовать каждый символ, не принадлежащий к базовой латинице, в формат UTF-8, и полученные байты представить в виде %xx, где xx - шестнадцатеричный код байта. Например, символ тильда ("~") должен быть представлен как %7e.


Программы, которые формируют URI ресурсов в виде текстовых строк, должны кодировать URI согласно описанным правилам перед тем, как передавать их любому протоколу Интернета, и декодировать их после получения.


Имена доменов


Имя домена в Интернете - это последовательность имен, разделенных точками, например www.faqs.org. Эти имена выбираются создателями доменов достаточно произвольным образом, за одним исключением. Крайнее справа имя (в нашем примере org) называется доменом высшего уровня и должно быть либо типом организации-владельца домена, либо обозначением страны, где расположен домен.


Таблица 2. Зарегистрированные типы организаций
comКоммерческие организации
eduУчреждения образования
intМеждународные организации и базы данных
netКомпьютеры сетевых провайдеров
orgНеправительственные и некоммерческие организации
govУчреждения и организации правительства США
milВооруженные силы США





Таблица 3. Зарегистрированные обозначения стран и территорий
АвстралияauМадагаскарmg
АвстрияatМакао (Аомынь) (Порт.)mo
АзербайджанazМакедонияmk
АлбанияalМалавиmw
АлжирdzМалайзияmy
Ангилья (Брит.)aiМалиml
АнголаaoМальдивская Республикаmv
АндорраadМальтаmt
АнтарктикаaqМаоре (Майотта) (Фр.)yt
Антигуа и БарбудаagМароккоma
Антильские острова (Нид.)anМартиника (Фр.)mq
АргентинаarМаршалловы Острова (опека США)mh
АрменияamМексикаmx
Аруба, остров (Нид.)awМелкие отдаленные острова СШАum
АфганистанafМикронезия (опека США)fm
Багамские ОстроваbsМозамбикmz
БангладешbdМолдоваmd
БарбадосbbМонакоmc
БахрейнbhМонголияmn
БеларусьbyМонтсеррат (Брит.)ms
БелизbzМьянма (Бирма)mm
БельгияbeНамибия (ЮАР)na
БенинbjНауруnr
Бермудские Острова (Брит.)bmНепалnp
БолгарияbgНигерne
БоливияboНигерияng
Босния и ГерцеговинаbaНидерландыnl
БотсванаbwНикарагуаni
БразилияbrНиуэ (Н. Зел.)nu
Британская территория в Индийском океанеioНовая Зеландияnz
БрунейbnНовая Каледония (Фр.)nc
Буве, островbvНорвегияno
Буркина-ФасоbfНорфолк, остров (Австрал.)nf
БурундиbiОбъединенные Арабские Эмиратыae
БутанbtОманom
ВануатуvuПакистанpk
ВатиканvaПалау (опека США)pw
ВеликобританияgbПанамаpa
ВенгрияhuПапуа-Новая Гвинеяpg
ВенесулаveПарагвайpy
Виргинские острова (Брит.)vgПеруpe
Виргинские острова (США)viПиткэрн (Брит.)pn
Восточное Самоа (США)asПольшаpl
Восточный ТиморtpПортугалияpt
ВьетнамvnПуэрто-Рико (США)pr
ГабонgaРеюньон (Фр.)re
ГаитиhtРождества (Кристмас), остров (Австрал.)cx
ГайанаgyРоссийская Федерацияru
ГамбияgmРуандаrw
ГанаghРумынияro
Гваделупа (Фр.)gpСальвадорsv
ГватемалаgtСан-Мариноsm
Гвиана (Фр.)gfСан-Томе и Принсипиst
ГвинеяgnСаудовская Аравияsa
Гвинея-БисауgwСвазилендsz
ГерманияdeСвальбард и Ян-Майен, острова (Норв.)sj
Гибралтар (Брит.)giСвятой Елены, остров (Брит.)sh
ГондурасhnСеверные Марианские Острова (опека США)mp
Гонконг (Сянган) (Брит.)hkСейшельские Островаsc
ГренадаgdСенегалsn
Гренландия (Дат.)glСен-Пьер и Микелон (Фр.)pm
ГрецияgrСент-Винсент и Гренадиныvc
ГрузияgeСент-Китс и Невисkn
Гуам, остров (США)guСент-Люсияlc
ДанияdkСингапурsg
ДжибутиdjСирияsy
ДоминикаdmСловакияsk
Доминиканская РеспубликаdoСловенияsi
ЕгипетegСоединенные Штаты Америкиus
ЗаирcdСоломоновы Островаsb
ЗамбияzmСомалиso
Западная СахараehСуданsd
Западное СамоаwsСуринамsr
ЗимбабвеzwСьерра-Леонеsl
ИзраильilТаджикистанtj
ИндияinТаиландth
ИндонезияidТайвань (провинция Китая)tw
ИорданияjoТанзанияtz
ИракiqТеркс и Кайкос, острова (Брит.)tc
ИранirТогоtg
ИрландияieТокелау (Юнион) (Н. Зел.)tk
ИсландияisТонгаto
ИспанияesТринидад и Тобагоtt
ИталияitТувалуtv
ЙеменyeТунисtn
Кабо-Верде (Острова Зеленого Мыса)cvТуркменистанtm
КазахстанkzТурцияtr
Кайман, острова (Брит.)kyУгандаug
КамбоджаkhУзбекистанuz
КамерунcmУкраинаua
КанадаcaУоллис и Футуна, острова (Фр.)wf
КатарqaУругвайuy
КенияkeФарерские острова (Дат.)fo
КипрcyФиджиfj
КирибатиkiФиллипиныph
КитайcnФинляндияfi
Кокосовые (Килинг) острова (Австрал.)ccФолклендские (Мальвинские) острова (Брит.)fk
КолумбияcoФранцияfr
Коморские ОстроваkmФранцузская Полинезияpf
КонгоcgФранцузские Южные Территорииtf
Корейская Народно-Демократическая РеспубликаkpХерд и Макдональд, островаhm
Корея, Республика (Южная Корея)krХорватияhr
Коста-РикаcrЦентральноафриканская республикаcf
Кот-д'Ивуар (Берег Слоновой Кости)ciЧадtd
КубаcuЧешская Республикаcz
КувейтkwЧилиcl
Кука острова (Н. Зел.)ckШвейцарияch
КыргызстанkgШвецияse
ЛаосlaШри-Ланкаlk
ЛатвияlvЭквадорec
ЛесотоlsЭкваториальная Гвинеяgq
ЛиберияlrЭритреяer
ЛиванlbЭстонияee
ЛивияlyЭфиопияet
ЛитваltЮгославияyu
ЛихтенштейнliЮжная Георгия и Южные Сандвичевы островаgs
ЛюксембургluЮжно-Африканская Республикаza
МаврикийmuЯмайкаjm
МавританияmrЯпонияjp



 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь