Можете ли вы привести пример URN для частного использования

Согласно Википедии,

urn:<NID>:<NSS>

Ведущая урна: последовательность нечувствительна к регистру. <NID> - это идентификатор пространства имен, который определяет синтаксическую интерпретацию <NSS>, строки, специфичной для пространства имен. Функциональные требования для единообразных имен ресурсов описаны в RFC 1737. [5]

Источник: http://en.wikipedia.org/wiki/Uniform_resource_name

И затем далее говорится, что экспериментальный NID имеет префикс X- но затем говорит:

RFC 6648 не рекомендует использовать нотацию "X-" для новых имен идентификаторов, но не рекомендует заменять существующие имена X- "и не отменяет существующие спецификации, требующие использования" X- ". [7]

Ну что теперь?

Если я хочу создать URN для некоторых идентификаторов в частной системе, как правильно их назвать?

Моя кишка говорит, что префикс X- ничего не выиграет, потому что два разработчика могут так же легко начать использовать urn:X-foo и это не было бы иначе, если бы они только выбрали urn:foo, кроме, быть может, что было бы ясно, что он официально не зарегистрирован в IANA.

Поэтому мы должны просто попытаться составить что-то уникальное и сделать все возможное, чтобы проверить, что это так. Правильно?

+2
источник поделиться
1 ответ

Насколько я знаю, RFC 6648 не делает экспериментальные NID (как определено RFC 3406) недействительными.

Проект для следующего RFC о URN (в настоящее время) в соответствии с рекомендациями RFC 6648 удалил экспериментальные NID (создание URN, которые используют X- недействительными).


Моя кишка говорит, что префикс X- ничего не выиграет, потому что два разработчика могут так же легко начать использовать urn:X-foo и это не было бы иначе, если бы они только выбрали urn:foo, кроме, быть может, что было бы ясно, что он официально не зарегистрирован в IANA.

Ну, RFC 3406 определяет, что

Никаких ассигнований на предотвращение столкновения экспериментальных NID

и что они

предназначенные для использования во внутренних или ограниченных экспериментальных контекстах.

Поэтому, в первую очередь, вы не должны использовать экспериментальные NID таким образом, чтобы на них нападали другие участники (которые не знают о вашем использовании/определении этих экспериментальных NID).
Или, другими словами: Столкновения экспериментальных NID должны быть беспроблемными, так как каждая сторона должна использовать их только внутри страны или экспериментально и не должна рассчитывать на то, что сможет что-либо сделать с экспериментальными NID, которые не находятся под их контролем.


Так …

  • Если вы хотите использовать URN только для личных целей, вы все равно можете использовать X- (следуя RFC 3406), пока он не будет устаревать новым RFC. В качестве альтернативы вы могли бы мять URN из example NID.

  • Если вы хотите публично/серьезно использовать URN, вы хотите, чтобы они были уникальными (избегая столкновений) и определялись (делая их полезными для других авторов и потребителей). Это весь смысл URNs, не так ли? Для этого вам необходимо зарегистрировать свой NID.

  • Если вы не хотите регистрироваться, не используйте URN. Существует много других схем URI (например, набираются теги URI).

+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос