stringtranslate.com

Интернационализированный идентификатор ресурса

Интернационализированный идентификатор ресурса ( 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/Internationalized_resource_identifier/Ῥόδος становится URI https://en.wiktionary.org/wiki/Internationalized_resource_identifier/%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 теперь обрабатываются способом, очень похожим на многие другие программы, которые могут потребовать использования неклавиатурного метода ввода при работе с текстами на разных языках.

Смотрите также

Ссылки

  1. ^ Гангеми, Альдо; Пресутти, Валентина (2006). "Идентификация Борна веб-ресурса" (PDF) . Труды Identity Reference and the Web Workshop (IRW) . Лаборатория прикладной онтологии: 3. Обратите внимание, что IRI (Internationalized Resource Identifier) ​​[11] должны заменить URI в будущем.
  2. ^ Suignard, Michel (январь 2005 г.). "Internationalized Resource Identifiers (IRI)". tools.ietf.org . Получено 2018-06-09 . В этом документе определяется новый элемент протокола, Internationalized Resource Identifier (IRI), как дополнение к Uniform Resource Identifier (URI). IRI — это последовательность символов из универсального набора символов (Unicode/ISO 10646). Определено отображение IRI в URI, что означает, что IRI можно использовать вместо URI, где это уместно, для идентификации ресурсов. Был выбран подход определения нового элемента протокола вместо расширения или изменения определения URI.
  3. ^ Suignard, Michel (январь 2005 г.). "Internationalized Resource Identifiers (IRI)". tools.ietf.org . Получено 2018-06-09 . Этот документ определяет новый элемент протокола, называемый Internationalized Resource Identifier (IRI), путем расширения синтаксиса URI на гораздо более широкий репертуар символов. Он также определяет "internationalized" версии, соответствующие другим конструкциям из [RFC3986], таким как ссылки URI. Синтаксис IRI определен в разделе 2, а связь между IRI и URI — в разделе 3.
  4. ^ Suignard, Michel (январь 2005 г.). «Интернационализированные идентификаторы ресурсов (IRI)». tools.ietf.org . Получено 09.06.2018 .
  5. ^ Suignard, Michel (январь 2005 г.). «Интернационализированные идентификаторы ресурсов (IRI)». tools.ietf.org . Получено 09.06.2018 .
  6. ^ abc Duerst, M. (2005). "RFC 3987". Network Working Group . Standards Track . Получено 12 октября 2014 г. .
  7. ^ Хендлер, Hrsg. Дитер Фензель; час. Джон Доминг; час. Джеймс А. (2010). Справочник по семантическим веб-технологиям (1-е изд.). Берлин: Springer-Verlag GmbH. ISBN 978-3-540-92912-3. Получено 12 октября 2014 г.{{cite book}}: CS1 maint: multiple names: authors list (link)
  8. ^ Кларк, Кендалл (2003-05-07). "Интернационализация URI". O'Reilly Media, Inc. Получено 12 октября 2014 г.

Внешние ссылки