Nome de recurso uniforme - Uniform Resource Name
Um Uniform Resource Name ( URN ) é um Uniform Resource Identifier (URI) que usa o urn
esquema . URNs são identificadores persistentes globalmente exclusivos atribuídos dentro de namespaces definidos, de forma que estarão disponíveis por um longo período de tempo, mesmo depois que o recurso que eles identificam deixar de existir ou se tornar indisponível. Os URNs não podem ser usados para localizar diretamente um item e não precisam ser resolvidos, pois são simplesmente modelos que outro analisador pode usar para localizar um item.
URIs, URNs e URLs
Os URNs foram originalmente concebidos para fazer parte de uma arquitetura de informações de três partes para a Internet, junto com Uniform Resource Locators (URLs) e Uniform Resource Characteristics (URCs) , uma estrutura de metadados . Conforme descrito na RFC 1737 (1994), e posteriormente na RFC 2141 (1997), URNs foram diferenciados de URLs, que identificam recursos especificando suas localizações no contexto de um protocolo de acesso particular, como HTTP ou FTP . Em contraste, URNs foram concebidos como identificadores persistentes e independentes de localização atribuídos dentro de namespaces definidos , normalmente por uma autoridade responsável pelo namespace, de modo que sejam globalmente únicos e persistentes por longos períodos de tempo, mesmo depois que o recurso que eles identificam deixa de existe ou se torna indisponível.
Os URCs nunca avançaram além do estágio conceitual, e outras tecnologias, como o Resource Description Framework, mais tarde tomaram seu lugar. Desde RFC 3986 em 2005, o uso dos termos "Uniform Resource Name" e "Uniform Resource Locator" foi descontinuado nos padrões técnicos em favor do termo Uniform Resource Identifier (URI), que abrange ambos, uma visão proposta em 2001 por um grupo de trabalho conjunto entre o World Wide Web Consortium (W3C) e a Internet Engineering Task Force (IETF).
Um URI é uma sequência de caracteres usada para identificar ou nomear um recurso . URIs são usados em muitos protocolos da Internet para referir-se e acessar recursos de informação. Os esquemas de URI incluem os protocolos http
e ftp
, bem como centenas de outros.
Na "visão contemporânea", como é chamada, todos os URIs identificam ou nomeiam recursos, talvez de forma única e persistente, com alguns deles também sendo "localizadores" que podem ser resolvidos em conjunto com um protocolo especificado para uma representação dos recursos.
Outros URIs não são localizadores e não são necessariamente resolvíveis dentro dos limites dos sistemas onde são encontrados. Esses URIs podem servir como nomes ou identificadores de recursos. Uma vez que os recursos podem se mover, identificadores opacos que não são localizadores e não estão vinculados a locais específicos são indiscutivelmente mais prováveis do que identificadores que são localizadores permanecerem únicos e persistentes ao longo do tempo. Mas se um URI pode ser resolvido depende de muitos detalhes operacionais e práticos, independentemente de ser chamado de "nome" ou "localizador". Na visão contemporânea, não existe uma linha clara entre "nomes" e "localizadores".
De acordo com essa maneira de pensar, a distinção entre Nomes de Recursos Uniformes e Localizadores de Recursos Uniformes não é mais usada nos padrões técnicos formais da Força-Tarefa de Engenharia da Internet , embora o último termo, URL, ainda esteja em amplo uso informal.
O termo "URN" continua agora como um dos mais de cem URI "esquemas", urn:
, em paralelo http:
, ftp:
e assim por diante. Os URIs do urn:
esquema não são localizadores, não precisam ser associados a um protocolo ou método de acesso específico e não precisam ser resolvidos. Eles devem ser atribuídos por um procedimento que forneça alguma garantia de que permanecerão únicos e identificarão o mesmo recurso persistentemente por um período prolongado. Alguns namespaces sob o urn:
esquema, como urn:uuid:
atribuem identificadores de uma maneira que não requer uma autoridade de registro, mas a maioria deles sim. Um namespace URN típico é urn:isbn
, para International Standard Book Numbers. Essa visão é continuada na RFC 8141 (2017).
Existem outros esquemas de URI, como tag:
, info:
(agora em grande parte reprovado), e ni:
que são semelhantes ao urn:
esquema por não serem localizadores e não estarem associados a uma resolução particular ou protocolos de acesso.
Sintaxe
A sintaxe de um urn:
URI de esquema é representada na forma aumentada de Backus-Naur como:
namestring = assigned-name
[ rq-components ]
[ "#" f-component ]
assigned-name = "urn" ":" NID ":" NSS
NID = (alphanum) 0*30(ldh) (alphanum)
ldh = alphanum / "-"
NSS = pchar *(pchar / "/")
rq-components = [ "?+" r-component ]
[ "?=" q-component ]
r-component = pchar *( pchar / "/" / "?" )
q-component = pchar *( pchar / "/" / "?" )
f-component = fragment
; general URI syntax rules (RFC3986)
fragment = *( pchar / "/" / "?" )
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
pct-encoded = "%" HEXDIG HEXDIG
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
alphanum = ALPHA / DIGIT ; obsolete, usage is deprecated
ou, na forma de um diagrama de sintaxe , como:
- O esquema principal (
urn:
) não faz distinção entre maiúsculas e minúsculas. -
<NID>
é o identificador do namespace e pode incluir letras, dígitos e-
. - O NID é seguido pela string específica do namespace
<NSS>
, cuja interpretação depende do namespace especificado. O NSS pode conter letras e dígitos ASCII e muitos sinais de pontuação e caracteres especiais. Caracteres ASCII e Unicode não permitidos podem ser incluídos se codificados em porcentagem .
Em 2017, a sintaxe para URNs foi atualizada:
- O caractere de barra (
/
) agora é permitido no NSS para representar nomes contendo barras de sistemas identificadores não URN. - O componente q foi adicionado para permitir a passagem de parâmetros para recursos nomeados.
- O componente r foi adicionado para permitir a passagem de parâmetros aos resolvedores. No entanto, a especificação atualizada observa que ela não deve ser usada até que sua semântica seja definida por meio de padronização adicional.
Namespaces
Para garantir a exclusividade global dos namespaces URN, seus identificadores (NIDs) devem ser registrados na IANA . Os namespaces registrados podem ser "formais" ou "informais". Uma exceção à exigência de registro foi feita anteriormente para "namespaces experimentais", desde que rescindidos pela RFC 8141.
Formal
Aproximadamente sessenta identificadores de namespace URN formais foram registrados. Esses são namespaces em que se espera que os usuários da Internet se beneficiem de sua publicação e estão sujeitos a várias restrições. Eles devem:
- Não ser um NID já registrado
- Não comece com
urn-
- Ter mais de duas letras
- Não comece com
XY-
, onde XY é qualquer combinação de duas letras ASCII - Não comece com
x-
(consulte "Namespaces experimentais", abaixo)
Informal
Os namespaces informais são registrados na IANA e são atribuídos a uma sequência numérica (escolhida pela IANA com base na ordem de chegada) como um identificador, no formato
"urn-" <number>
Namespaces informais são namespaces URN totalmente desenvolvidos e podem ser registrados em serviços de registro global.
Experimental
Uma exceção ao requisito de registro foi feita anteriormente para "namespaces experimentais". No entanto, após a descontinuação da notação "X-" para novos nomes de identificadores, o RFC 8141 eliminou os namespaces URN experimentais, indicando uma preferência pelo uso do urn:example
namespace quando apropriado.
Exemplos
URNA | corresponde a |
---|---|
urn:isbn:0451450523
|
O livro de 1968 O Último Unicórnio , identificado pelo número do livro . |
urn:isan:0000-0000-2CEA-0000-1-0000-0000-Y
|
O filme Homem-Aranha de 2002 , identificado pelo número audiovisual . |
urn:ISSN:0167-6423
|
A revista científica Science of Computer Programming , identificada por seu número de série . |
urn:ietf:rfc:2648
|
O RFC 2648 da IETF . |
urn:mpeg:mpeg7:schema:2001
|
As regras de namespace padrão para metadados de vídeo MPEG-7 . |
urn:oid:2.16.840
|
O OID para os Estados Unidos . |
urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66
|
Um UUID versão 1 . |
urn:nbn:de:bvb:19-146642
|
Um número de bibliografia nacional para um documento, indicando país ( de ), rede regional ( bvb = Bibliotheksverbund Bayern ), número da biblioteca (19) e número do documento.
|
urn:lex:eu:council:directive:2010-03-09;2010-19-UE
|
Uma diretiva da União Europeia , usando o namespace Lex URN proposto . |
urn:lsid:zoobank.org:pub:CDC8D258-8F57-41DC-B560-247E17D3DC8C
|
A Life Science Identifiers que podem ser resolvidos para http://zoobank.org/urn:lsid:zoobank.org:pub:CDC8D258-8F57-41DC-B560-247E17D3DC8C . |
urn:epc:class:lgtin:4012345.012345.998877
|
Número do item comercial global com número do lote / lote. Conforme definido pelo Tag Data Standard (TDS). Veja mais exemplos em Chaves de identificação EPC . |
urn:epc:id:sgtin:0614141.112345.400
|
Número global de item comercial com um número de série individual |
urn:epc:id:sscc:0614141.1234567890
|
Código serial do contêiner de remessa |
urn:epc:id:sgln:0614141.12345.400
|
Número de localização global com extensão |
urn:epc:id:bic:CSQU3054383
|
Código de contêiner intermodal BIC conforme ISO 6346 |
urn:epc:id:imovn:9176187
|
Número de embarcações da IMO |
urn:epc:id:gdti:0614141.12345.400
|
Identificador de tipo de documento global de uma instância de documento |
urn:mrn:iala:aton:us:1234.5
|
Identificador de Auxílio Marítimo à Navegação |
urn:mrn:iala:vts:ca:ecareg
|
Identificador para serviços de tráfego de embarcações |
urn:mrn:iala:wwy:us:atl:chba:potri
|
Identificador para vias navegáveis |
urn:mrn:iala:pub:g1143
|
Identificador para publicações IALA |
urn:microsoft:adfs:claimsxray
|
Identificador para identidade federada; este exemplo é do Claim X-Ray |
Veja também
- Chave de recurso de arquivo (ARK)
- .arpa - urn.arpa é para descoberta dinâmica
- Identificador de recurso extensível (XRI)
- Sistema de manuseio
- Esquema de URI de informação
- Identificadores de Ciências da Vida (LSID)
- O esquema Magnet URI , que usa URNs
- Persistent Uniform Resource Locator (PURL)
- Esquema de URI de tag
- Identificador de objeto digital (DOI)
- Chaves de identificação EPC .
- Nomes de recursos marítimos (MRN)
Referências
Citações
Origens
- Sollins, Karen; Masinter, Larry (dezembro de 1994). "Solicitação de comentários 1737: Requisitos funcionais para nomes de recursos uniformes" . IETF . Página visitada em 07/12/2012 .
- Moats, Ryan (maio de 1997). "Solicitação de comentários 2141: Sintaxe URN" . IETF . Página visitada em 07/12/2012 .
- Daigle, Leslie L .; van Gulik, Dirk-Willem; Faltstrom, Patrik (outubro de 2002). "Request for Comments 3406: Uniform Resource Names (URN) Namespace Definition Mechanisms" . IETF . Página visitada em 07/12/2012 .
- Berners-Lee, Tim ; Fielding, Roy ; Masinter, Larry (janeiro de 2005). "Request for Comments 3986: Uniform Resource Identifier (URI): Generic Syntax" . IETF . Página visitada em 07/12/2012 .
- Saint-Andre, Peter (abril de 2013). "Request for Comments 6963: A Uniform Resource Name (URN) Namespace para exemplos" . IETF . Recuperado em 28-04-2017 .
- Saint-Andre, Peter; Klensin, John (abril de 2017). "Solicitação de comentários 8141: Nomes de recursos uniformes (URNs)" . IETF . Recuperado em 28-04-2017 .
- Saint-Andre, Peter; Klensin, John (abril de 2017). "Request for Comments 8141: Uniform Resource Names (URNs), § 2. URN Syntax" . IETF . Página visitada em 2018-09-20 .
- "Folha de dados: Especificações do sistema DOI e do identificador da Internet" . Fundação Internacional DOI. Outubro 2012 . Página visitada em 06/12/2012 .
- W3C / IETF URI Planning Interest Group (21 de setembro de 2001). "URIs, URLs e URNs: Esclarecimentos e Recomendações 1.0" . W3C . Página visitada em 07/12/2012 .
links externos
- Registro oficial da IANA de namespaces URN
- Grupo de trabalho de nomes de recursos uniformes na IETF
- URNs e citações bibliográficas em autoria na web
- Um exemplo de resolvedor URN do lado do servidor é descrito no RFC 2169 .