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?
urn:uuid é a mesma coisa que o UUID solto?
URN ainda é usada?
Ferramentas Relacionadas
Decodificador Pix
Decodifica BR Code Pix (texto começando com 0002...) extraindo chave, valor, beneficiário, cidade e identificador.
Parser de Snowflake ID
Decompõe um snowflake (Twitter, Discord) em timestamp, worker ID, datacenter ID e sequence. Mostra a data legível.
Parser de Content-Type
Decompõe um header Content-Type em mediatype, charset, boundary e demais parâmetros. Útil para depurar APIs e uploads.
Parser de Range Header
Decompõe um header Range (bytes=0-499, bytes=-100 etc.) em ranges individuais com início, fim e tamanho.
Parser de UUID
Decompõe um UUID em versão (1, 3, 4, 5, 6, 7, 8), variant, e quando aplicável, timestamp e nó. Suporta UUIDs com e sem traços.
Parser de Authorization
Identifica o esquema (Basic, Bearer, Digest) de um header Authorization e extrai o payload, decodificando Basic em base64.