Neste artigo vamos explorar em detalhes o tema URI, um problema que tem chamado a atenção de muitas pessoas hoje. URI tem sido objeto de inúmeros debates e estudos nos últimos anos, e a sua relevância e impacto em diversos aspectos da sociedade não passaram despercebidos. Desde a sua origem até às suas implicações futuras, URI tornou-se um tema de interesse geral que afecta pessoas de todos os tipos, independentemente da idade, sexo ou localização geográfica. Ao longo deste artigo, daremos uma olhada nos vários aspectos relacionados a URI, abordando suas diversas facetas e como ela evoluiu ao longo do tempo.
Uniform Resource Identifier (URI) é 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.
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.
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".
Muito desta discussão é tirado da RFC3305(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.
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.
src
, atributo do elemento img
, é uma referência URI, como também é o valor de href
para os elementos a
ou link
.SYSTEM
em um DTD é uma referência URI sem fragmentos.href
do elemento/instrução xsl:import
é uma referência URI, como também o primeiro argumento da função document()
.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
http://pt.wikipedia.orghttps://sapientiapt.com/URI#Exemplos_de_referências_URI
("http
" é o nome do 'conjunto', "pt.wikipedia.org
" é a 'autoridade', "https://sapientiapt.com/URI
" é o 'caminho' apontando para este artigo, e "#Exemplos_de_referências_URI
" é um 'fragmento' apontando para esta seção)