Интернационализированный идентификатор ресурса - Internationalized Resource Identifier
В Интернационализированный идентификатор ресурса (IRI) является стандарт интернет-протокола который основан на Единый идентификатор ресурса (URI) за счет значительного расширения набора разрешенных символов.[1][2][3] Это было определено Инженерная группа Интернета (IETF) в 2005 г. RFC 3987. Хотя URI ограничены подмножеством ASCII набор символов, IRI могут дополнительно содержать большинство символов из Универсальный набор символов (Юникод /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. Получено 2018-06-09.
В этом документе определяется новый элемент протокола, международный идентификатор ресурса (IRI), как дополнение к универсальному идентификатору ресурса (URI). IRI - это последовательность символов из универсального набора символов (Unicode / ISO 10646). Определено отображение IRI в URI, что означает, что IRI можно использовать вместо URI, где это необходимо, для идентификации ресурсов. Был выбран подход определения нового элемента протокола вместо расширения или изменения определения URI.
- ^ Suignard, Мишель. «Интернационализированные идентификаторы ресурсов (IRI)». tools.ietf.org. Получено 2018-06-09.
В этом документе определяется новый элемент протокола, называемый интернационализированным идентификатором ресурса (IRI), путем расширения синтаксиса URI на гораздо более широкий набор символов. Он также определяет «интернационализированные» версии, соответствующие другим конструкциям из [RFC3986], таким как ссылки URI. Синтаксис IRI определен в разделе 2, а взаимосвязь между IRI и URI - в разделе 3.
- ^ Suignard, Мишель. «Интернационализированные идентификаторы ресурсов (IRI)». tools.ietf.org. Получено 2018-06-09.
- ^ Suignard, Мишель. «Интернационализированные идентификаторы ресурсов (IRI)». tools.ietf.org. Получено 2018-06-09.
- ^ а б c Дюрст, М. (2005). «RFC 3987». Сетевая рабочая группа. Стандарты Track. Получено 12 октября 2014.
- ^ Хендлер, Hrsg. Дитер Фензель; Hrsg. Джон Доминг; Hrsg. Джеймс А. (2010). Справочник по технологиям семантической сети (1. Aufl. Ed.). Берлин: Springer-Verlag GmbH. ISBN 978-3-540-92912-3. Получено 12 октября 2014.
- ^ Кларк, Кендалл (07.05.2003). «Интернационализация URI». O’Reilly Media, Inc. Получено 12 октября 2014.