Internationalized Resource Identifier
IRI (англ. Internationalized Resource Identifier) — интернационализированный идентификатор ресурса. По‐английски «IRI» произносится /aɪɑraɪ/, по‐русски иногда произносят [и́ри]. IRI — это короткая последовательность символов, идентифицирующая абстрактный или физический ресурс на любом языке мира. Идентификаторы IRI призваны в будущем заменить URI.
ОсновыПравить
IRI — это символьная строка, позволяющая идентифицировать какой‐либо ресурс: документ, изображение, файл, службу, ящик электронной почты и т. д. Прежде всего, речь идёт, конечно, о ресурсах сети Интернет и Всемирной паутины. Идентификаторы IRI создавались как замена единообразным идентификаторам URI (англ. Uniform Resource Identifier) с целью избежать их ограничения на символы: URI могут содержать только латинские символы и знаки препинания из набора символов US-ASCII (в общей сложности около 60 символов). В результате, если мы захотим использовать в URI символы кириллицы, иероглифы или, скажем, специфические символы французского языка и эсперанто, то нам придётся кодировать URI так, как в Википедии кодируются URL с символами Юникода. Например, строка вида:
http://ru.wikipedia.org/wiki/Кириллица
кодируется в URL как:
http://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D1%80%D0%B8%D0%BB%D0%BB%D0%B8%D1%86%D0%B0
Подробнее о кодировании см. URL.
В итоге URI во всех языках, кроме основанных на базовой латинице, теряют свою удобочитаемость для человека. Это входит в противоречие с принципом интернационализма, провозглашаемого всеми ведущими организациями Интернета, включая W3C и ISOC.
Идентификаторы IRI созданы специально для решения этой проблемы. IRI могут содержать любые символы Юникода (Unicode/ISO 10646) в чистом виде, без всякого кодирования. IRI не ущемляют права других языков и ведут к более высокой степени равноправия пользователей Интернета.
В остальном идентификаторы IRI пока почти идентичны URI. Существует возможность несложной конвертации (англ. mapping) между идентификаторами URI и IRI.
ИсторияПравить
Разработка IRI началась примерно в ноябре 2001 года в Консорциуме Всемирной паутины. Первый вариант спецификации появился в апреле 2002 года. Стандарт был закреплён в RFC 3987 в январе 2005 года. Работы по спецификации IRI продолжаются в Рабочей группе по интернационализации (англ. Internationalization Working Group) Консорциума Всемирной паутины.
ПрименениеПравить
В настоящее время IRI уже применяются в следующих технологиях:
- XML 1.0 (системные идентификаторы)
- XLink (атрибут
href
) - XML Schema (тип данных
anyURI
)
Существует также предложение об использовании Юникода (в формате UTF-8) в системе доменных имён DNS — система IDNA (англ.), основанная на Punycode.
ПроблемыПравить
Для однозначной идентификации адреса, например в ссылке, придется применять особые методы — например, дополнительное оформление для разных символов с одинаковым начертанием (например, символы А, В, Е, К, М, Н, О, Р, С, Т, Х в кириллице и латинице) — отличающиеся шрифты, цвета и т. п., либо владелец, скажем, домена «example.com» будет вынужден приобретать все домены, в которых содержатся такие символы в любой комбинации, которых в данном случае несколько: два «e», «x», «а» и «p», во избежание действий злоумышленников, которые могут выдать такой «смешанный» домен за сайт владельца домена «example.com», и получить конфиденциальную информацию от посетителей через формы.
Также необходимо будет регистрировать желаемые домены на всех языках мира, частично, по тем же причинам. В случае торговых марок проблему можно будет решить правовыми методами, а вот с такими сайтами, как «а.ком» и «a.com» дело обстоит иначе. Самому посетителю будет сложно разобраться с такими адресами, если это, например, чьи‑то домашние страницы. Это касается и таких адресов как «dom.ru» и «дом.ру».
Некоторые[кто?] считают, что ограничение доменного имени латинскими символами так же естественно, как для операторов в языках программирования. Проблема же названий файлов и разделов может успешно решаться браузерами: например, Opera 8.5 и Firefox 3.0 отображают адрес «http://ru.wikipedia.org/wiki/Кириллица
» именно так, кодируя его лишь для передачи запроса серверу.
См. такжеПравить
СсылкиПравить
- RFC 3987 (IRI)
- RFC 3986 / STD 66 (URI)
- Общее представление идентификаторов IRI от W3C
- Рабочая группа интернационализации при W3C
В статье не хватает ссылок на источники (см. рекомендации по поиску). |