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 httpe 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:

Diagrama de sintaxe URN - namestring

  • 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:examplenamespace 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

Referências

Citações

Origens

links externos