1001Ferramentas
🆔Dev

Parser de URN

Decompõe uma URN (urn:NID:NSS) em namespace identifier (NID) e namespace-specific string (NSS). Suporta r-component e q-component (RFC 8141).

Formato: urn:NID:NSS[?+r-component][?=q-component][#fragment]

URN: identificar sem dizer onde está

Uma URL diz onde buscar; uma URN diz apenas o que a coisa é. A diferença importa quando o identificador precisa durar mais que o servidor: o ISBN de um livro continua correto depois de a editora fechar, e é isso que a forma urn:isbn:0451450523 expressa. A estrutura é sempre urn, o identificador do namespace e a string específica dele.

A RFC 8141, de 2017, acrescentou três partes opcionais ao final, e a página as separa: o componente r, aberto por interrogação e mais, com parâmetros para o resolvedor; o componente q, aberto por interrogação e igual, com parâmetros para o recurso; e o fragmento, depois da cerquilha. Nenhum dos três participa da identificação — dois URNs que só diferem neles apontam para a mesma coisa.

O identificador de namespace é registrado na IANA e a página reconhece os mais comuns: isbn, issn, uuid, oid, ietf, nbn. O nome urn é reservado e não pode nomear um namespace. Vale saber da crítica prática: URN identifica mas nada resolve por padrão, então na ausência de um sistema de resolução acordado ela vira etiqueta — o que explica por que o DOI, que nasceu com resolvedor próprio, venceu no meio acadêmico.

Perguntas frequentes

Quais as regras do identificador de namespace?
De 2 a 32 caracteres, começando e terminando em letra ou dígito, com letra, dígito e hífen no meio. A comparação não distingue maiúscula de minúscula. NID que começa por x seguido de hífen era a forma informal e está desencorajada desde a RFC 8141.
urn:uuid é a mesma coisa que o UUID solto?
É o mesmo identificador expresso como URI. A forma urn:uuid existe para quando o contexto exige um URI — em RDF, em XML e em formatos que só aceitam identificador nessa forma. O valor entre os dois-pontos é o UUID normal, em minúsculas com hífens.
URN ainda é usada?
Sim, mais do que parece, e quase sempre por baixo: identificador de norma ISO, número de bibliografia nacional, namespace de XML, identificador de recurso em telecomunicações. O que não pegou foi a ideia de a URN substituir a URL na navegação — para isso ela precisaria de um resolvedor universal que nunca existiu.

Ferramentas Relacionadas