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[en], основанная на Punycode.

Проблемы

Для однозначной идентификации адреса, например в ссылке, придется применять особые методы — например, дополнительное оформление для разных символов с одинаковым начертанием (например, символы А, В, Е, К, М, Н, О, Р, С, Т, Х в кириллице и латинице) — отличающиеся шрифты, цвета и т. п., либо владелец, скажем, домена «example.com» будет вынужден приобретать все домены, в которых содержатся такие символы в любой комбинации, которых в данном случае несколько: два «e», «x», «а» и «p», во избежание действий злоумышленников, которые могут выдать такой «смешанный» домен за сайт владельца домена «example.com», и получить конфиденциальную информацию от посетителей через формы.

Также необходимо будет регистрировать желаемые домены на всех языках мира, частично, по тем же причинам. В случае торговых марок проблему можно будет решить правовыми методами, а вот с такими сайтами, как «а.ком» и «a.com» дело обстоит иначе. Самому посетителю будет сложно разобраться с такими адресами, если это, например, чьи‑то домашние страницы. Это касается и таких адресов как «dom.ru» и «дом.ру».

Некоторые[кто?] считают, что ограничение доменного имени латинскими символами так же естественно, как для операторов в языках программирования. Проблема же названий файлов и разделов может успешно решаться браузерами: например, Opera 8.5 и Firefox 3.0 отображают адрес «http://ru.wikipedia.org/wiki/Кириллица» именно так, кодируя его лишь для передачи запроса серверу.

См. также

Ссылки