Идентификатор интернационализированного ресурсов ( IRI ) является стандартным интернет - протокол , который опирается на унифицированный идентификатор ресурса (URI) протокола, что значительно расширяет набор допустимых символов. [1] [2] [3] Он был определен Инженерной группой Интернета (IETF) в 2005 году в RFC 3987. Хотя URI ограничены подмножеством набора символов US-ASCII (символы вне этого набора должны быть сопоставлены октеты в соответствии с некоторой неопределенной кодировкой символов, затем закодированные в процентах ), IRI могут дополнительно содержать большинство символов из универсального набора символов (Unicode /ISO 10646 ), [4] [5], включая китайские , японские , корейские и кириллические символы.
Синтаксис
IRI расширяют URI с помощью универсального набора символов , где URI были ограничены ASCII с гораздо меньшим количеством символов. IRI могут быть представлены последовательностью октетов, но по определению определяются как последовательность символов, поскольку IRI могут произноситься или записываться от руки. [6]
Совместимость
IRI сопоставляются с URI для сохранения обратной совместимости с системами, не поддерживающими новый формат. [6]
Для приложений и протоколов, которые не допускают прямого использования IRI, сначала необходимо преобразовать IRI в Unicode с использованием канонической нормализации композиции (NFC) , если это еще не сделано в формате Unicode.
Все кодовые точки, отличные от ASCII, в IRI должны быть затем закодированы как UTF-8 , а результирующие байты закодированы в процентах , чтобы получить действительный URI.
Пример: IRI https://en.wiktionary.org/wiki/Ῥόδος становится URI https://en.wiktionary.org/wiki/%E1%BF%AC%CF%8C%CE%B4%CE%BF % CF% 82
Кодовые точки ASCII, которые являются недопустимыми символами URI, могут быть закодированы таким же образом, в зависимости от реализации. [6]
Это преобразование легко обратимо; по определению преобразование IRI в URI и обратно даст IRI, который семантически эквивалентен исходному IRI, даже если он может отличаться по точному представлению. [7]
Некоторые протоколы могут требовать дальнейших преобразований; например, Punycode для меток DNS .
Преимущества
Есть причины, по которым URI отображаются на разных языках; в основном это упрощает задачу для пользователей, незнакомых с латинским (A – Z) алфавитом. Если предположить, что никому не сложно воспроизвести произвольный Unicode на своей клавиатуре, это может сделать систему URI более доступной. [8]
Недостатки
Сочетание IRI и ASCII URI может значительно упростить выполнение фишинговых атак, заставляющих кого-то поверить, что он находится на другом сайте, чем на самом деле. Например, можно заменить ASCII «a» www.myfictionalbank.com
на аналог Unicode « α », чтобы www.myfictionαlbank.com
указать этот IRI на вредоносный сайт. Это известно как атака с использованием омографа IDN .
В то время как URI не дает людям возможности указывать веб-ресурсы с использованием их собственных алфавитов, IRI не дает четкого представления о том, как можно получить доступ к веб-ресурсам с помощью клавиатур, которые не способны генерировать требуемые интернационализированные символы. Это означает, что теперь IRI обрабатываются аналогично многим другим программам, которые могут потребовать использования метода ввода без клавиатуры при работе с текстами на разных языках.
Смотрите также
- IDN (международное доменное имя)
- Семантическая сеть
- Punycode
- XRI (расширяемый идентификатор ресурса)
Рекомендации
- ^ Гангеми, Альдо; Пресутти, Валентина (2006). «Борновая идентичность веб-ресурса» (PDF) . Труды по идентификации и веб-семинару (IRW) . Лаборатория прикладной онтологии: 3.
Обратите внимание, что IRI (интернационализированный идентификатор ресурса) [11] должны заменить URI в будущем.
- ^ Suignard, Мишель. «Интернационализированные идентификаторы ресурсов (IRI)» . tools.ietf.org . Проверено 9 июня 2018 .
Этот документ определяет новый элемент протокола, международный идентификатор ресурса (IRI), как дополнение к универсальному идентификатору ресурса (URI). IRI - это последовательность символов из универсального набора символов (Unicode / ISO 10646). Определено отображение IRI в URI, что означает, что IRI могут использоваться вместо URI, где это необходимо, для идентификации ресурсов. Был выбран подход определения нового элемента протокола вместо расширения или изменения определения URI.
- ^ Suignard, Мишель. «Интернационализированные идентификаторы ресурсов (IRI)» . tools.ietf.org . Проверено 9 июня 2018 .
В этом документе определяется новый элемент протокола, называемый интернационализированным идентификатором ресурса (IRI), путем расширения синтаксиса URI на гораздо более широкий набор символов. Он также определяет «интернационализированные» версии, соответствующие другим конструкциям из [RFC3986], таким как ссылки URI. Синтаксис IRI определен в разделе 2, а взаимосвязь между IRI и URI - в разделе 3.
- ^ Suignard, Мишель. «Интернационализированные идентификаторы ресурсов (IRI)» . tools.ietf.org . Проверено 9 июня 2018 .
- ^ Suignard, Мишель. «Интернационализированные идентификаторы ресурсов (IRI)» . tools.ietf.org . Проверено 9 июня 2018 .
- ^ а б в Дюрст, М. (2005). «RFC 3987» . Сетевая рабочая группа . Стандарты Track . Проверено 12 октября 2014 года .
- ^ Хендлер, Hrsg. Дитер Фензель; Hrsg. Джон Доминг; Hrsg. Джеймс А. (2010). Справочник по технологиям семантической паутины (1. Изд. Изд.). Берлин: Springer-Verlag GmbH. ISBN 978-3-540-92912-3. Проверено 12 октября 2014 года .
- ^ Кларк, Кендалл (07.05.2003). «Интернационализация URI» . O'Reilly Media, Inc . Проверено 12 октября 2014 года .
Внешние ссылки
- Деятельность W3C по интернационализации
- RFC 3987: Предлагаемый стандарт интернационализированных идентификаторов ресурсов (IRI)
- Список зарегистрированных схем URI IANA