URI

Uniform Resource Identifier (URI)[1][2] é um termo técnico (e anglicismo de tecnologia da informação) que foi traduzido para a língua portuguesa como um "identificador uniforme de recurso", é uma cadeia de caracteres compacta usada para identificar ou denominar um recurso na Internet. O principal propósito desta identificação é permitir a interação com representações do recurso através de uma rede, tipicamente a Rede Mundial, usando protocolos específicos. URIs são identificados em grupos definindo uma sintaxe específica e protocolos associados.

Relação com URL e URN

Diagrama de conjuntos de grupos URI categorizados. Grupos na URL (locator) e URN (name) categorias são subconjuntos da URI, e, geralmente, também são conjuntos disjuntos.Tecnicamente URL e URN funcionam como IDs de recursos, no entanto, muitos conjuntos não podem ser categorizados como somente um ou outro, por que todos os URIs podem ser tratados como nomes, e alguns conjuntos integram aspectos de ambas, ou de nenhuma das categorias.

Um URI pode ser classificado como um localizador (URL) ou um nome (URN), ou ainda como ambos.

Um Nome de Recurso Uniforme URN - Uniform Resource Name (em inglês) é como o nome de uma pessoa, enquanto que um Localizador de Recurso Uniforme URL - Uniform Resource Locator (em inglês) é como o seu endereço. O URN define a identidade de um item, enquanto que o URL dá-nos um método para o encontrar.

Um URN típico é o sistema ISBN para identificar individualmente os livros. ISBN 0-486-27557-4 (urn:isbn:0-486-27557-4) cita sem equívocos uma edição específica da obra de Shakespeare "Romeu e Julieta" - Romeo and Juliet (em inglês). Para aceder a este objeto e ler o livro, é necessário obter a sua localização, ou seja, através de um endereço URL. Um URL típico para este livro é um caminho de arquivos, como file://home/pedro/Desktop/RomeoAndJuliet.pdf, identificando o livro eletrónico salvo no disco de um PC local. Então o propósito de URNs e URLs é o de serem complementares.

Aspectos técnicos

Um URL é um URI que, além de identificar um recurso, provê meios de agir sobre obter e representar este recurso, descrevendo o seu mecanismo de acesso primário ou a localização na "rede". Por exemplo, o URL http://www.wikipedia.org/ é um URI que identifica um recurso (Wikipedia) e implica a representação deste recurso (como o código HTML atual da página, como caracteres codificados está disponível via HTTP de um hospedeiro de redes chamado www.wikipedia.org. Um URN é um URI que identifica um recurso pelo nome e um espaço de nome em particular. Um URN pode ser usado para falar sobre um recurso sem definir a sua localização ou como o aceder. Por exemplo, o URN urn:isbn:0-395-36341-1 é um URI que especifica o sistema de identificação, em outras palavras, Número de Livro Padrão Internacional ISBN - International Standard Book Number (em inglês), como a única referência neste sistema e permite falar sobre o livro, mas não sugere onde ou como obter uma cópia real dele.

Em publicações técnicas, especialmente padrões produzidos pela IETF e pelo W3C, o termo URL tem sido depreciado, já que raramente se torna necessária uma distinção entre URLs e URIs. Porém, fora de contextos técnicos e em software para a Rede Global, o termo URL permanece ambíguo. Além disso, o termo endereço web, que não possui qualquer definição formal, geralmente é usado em publicações não-técnicas como sinónimo para URL ou URI, embora geralmente se refira apenas a conjuntos URL "http" ou "https".

RFC 3305

Muito desta discussão é tirado da RFC3305[3](em inglês), intitulada "Reportagem do planeamento da união W3C/IETF URI interessa grupo: Uniform Resource Identifiers (URIs), Uniform Resource Locator (URLs) e Uniform Resource Names (URNs): Explicações e Recomendações". Este RFC esboça o trabalho de um grupo de trabalho para união W3C/IETF que foi instalado especialmente para normalizar as visões divergentes levadas com o IETF e W3C, por meio das quais a relação foi entre os diversos termos e padrões "UR*". Enquanto não publicada uma padronização por ambas as organizações, tornou-se a base para um entendimento comum e tem informado muitos padrões.

Sintaxe

A sintaxe URI é essencialmente um nome de conjunto URI como "HTTP", "FTP", "mailto", "URN", "tel", "rtsp", "file" etc, seguido de um caractere dois pontos e, por fim, a parte específica do conjunto. A sintaxe e a semântica desta parte específica é determinada pelas especificações que governam o conjunto, embora a sintaxe URI force todos os conjuntos a aderirem a uma síntese genérica que, além de outras coisas, reserva certos caracteres para propósitos especiais, mesmo sem dizer sempre quais esses propósitos são. A sintaxe URI também força restrições na parte específica do conjunto para, por exemplo, manter um certo grau de consistência quando a parte possui uma estrutura hierárquica. Codificação URL geralmente é um aspecto mal-compreendido da sintaxe URI.

Usos de referências URI em linguagens marcadores

  • Em HTML, o valor de src, atributo do elemento img, é uma referência URI, como também é o valor de href para os elementos a ou link.
  • Em XML, o identificador de sistema sucedendo a palavra-chave SYSTEM em um DTD é uma referência URI sem fragmentos.
  • Em XSLT, o valor do atributo href do elemento/instrução xsl:import é uma referência URI, como também o primeiro argumento da função document().

Exemplos de URIs Absolutas

  • http://example.org/absolute/URI/with/absolute/path/to/resource.txt
  • ftp://example.org/resource.txt
  • file://home/example/example.org/resource.txt
  • urn:issn:1535-3613

Exemplos de referências URI

  • http://pt.wikipedia.org/wiki/URI#Exemplos_de_referências_URI ("http" é o nome do 'conjunto', "pt.wikipedia.org" é a 'autoridade', "/wiki/URI" é o 'caminho' apontando para este artigo, e "#Exemplos_de_referências_URI" é um 'fragmento' apontando para esta seção)
  • http://example.org/absolute/URI/with/absolute/path/to/resource.txt
  • ./relative/URI/with/absolute/path/to/resource.txt
  • relative/path/to/resource.txt
  • ../../../resource.txt
  • ../resource.txt#frag01
  • resource.txt
    1. frag01
  • (cadeia vazia)

Ver também

  • Uniform Resource Identifier (URI) na Wikipédia (em inglês)
  • .arpa, uri.arpa é uma descoberta dinâmica
  • História da internet
  • URL (Uniform Resource Locator)
  • IRI (Internationalized Resource Identifier)
  • XRI (eXtensible Resource Identifier)
  • IANA (Internet Assigned Numbers Authority)
  • ICANN (Internet Corporation for Assigned Names and Numbers)
  • W3C (World Wide Web Consortium)
  • Codificação URL
  • URN
  • Website

Referências

  1. Universal Resource Identifier (URI) (W3C)
  2. Universal Resource Identifier (URI) (Developer Mozilla)
  3. RFC3305 (em inglês)., acessado pela última vez há 802 semanas e 1 dia

Ligações externas

  • RFC 3986 / STD 66 (2005) – a atual especificação genérica de sintaxe para URI
  • RFC 2396 (1998) and RFC 2732 (1999) – versão da especificação genérica de sintaxe para URI, obsoleta mas amplamente implementada
  • RFC 1808 (1995) – companheira obsoleta da RFC 1738 cobrindo processamentos relativos de URL
  • RFC 1738 (1994) – maior parte obsoleta da definição de conjuntos URL e sintaxe genérica URI
  • RFC 1630 (1994) – a primeira especificação genérica de sintaxe para URI; primeiro conhecimento de URLs em um padrão para Internet
  • URI Schemes– Registro mantido pela IANA de conjuntos URI
  • URI Working Group– centro de coordenação de desenvolvimento de padrões URI
  • Architecture of the World Wide Web, Volume One, §2: Identification– pelo W3C
  • Exemplo de discussão sobre nomes e endereços
  • Materiais do W3C relacionados a Endereçamento
  • Explicação da W3C sobre URI
  • Codificador/decodificador URL Online (baseado em javascript)
  • What's a URI and why does it matter?(2008) - pelo W3C
  • The Self-Describing Web(2008) - do W3C
Controle de autoridade
  • Wd: Q61694
  • LCCN: sh2002000192
  • Portal das tecnologias de informação