URI

cadeia de carateres usada para identificar um recurso na Internet

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 editar

 
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 editar

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 editar

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 editar

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 editar

  • 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 editar

Exemplos de referências URI editar

  • 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 editar

Referências

Ligações externas editar