URL ou URI, qual a diferença?

URL ou URI, qual a diferença?

Essa dúvida já passou pela cabeça de muita gente e creio que se você é iniciante e já ouviu esses termos alguma vez também deve estar se confundindo. É normal essa confusão no começo, afinal você cria aplicações para consumir API’s ou constrói/melhora API’s o tempo todo no seu dia-a-dia, então você escuta esses termos direto.

Mas afinal, qual a diferença entre URL e URI?

O Protocolo HTTP

Não da para abordar o assunto URI, URL, URN sem explicar um pouco sobre o HTTP. Se você já manja sobre HTTP, pode pular para a parte de URL.

O protocolo HTTP é um conjunto de regras de transmissão de dados que permitem que máquinas com diferentes configurações possam se comunicar com um mesmo “idioma”. A especificação do Protocolo você encontra aqui e o conhecimento sobre o assunto vai mais além, envolvendo Verbos, Cabeçalhos HTTP, etc.

Esse protocolo é baseado em requisição e resposta entre client e server. Quando o client (Ou user agent) solicita um recurso na internet ele envia um pacote de dados com cabeçalhos (Headers) a um URI (Ou URL) e o destinatário (Provavelmente um Servidor) vai devolver uma resposta que pode ser um recurso ou outro cabeçalho.

Para ver como tudo isso acontece faça o seguinte:

Abra uma nova aba no seu navegador – No meu exemplo estou usando o Chrome e vou acessar o Google -, pressione F12 ou abra as Ferramentas de Desenvolvedor e clique em Network e acesse um site qualquer. Você vai reparar que serão baixados alguns arquivos, clique em qualquer um e clique em headers. Vai aparecer algo igual a isso:

"Headers no Google Chrome"
Reprodução: William Oliveira

Ali você consegue identificar o endereço remoto (173.194.118.197:443), a URL que foi requisitada, o método que foi utilizado (GET), o Status Code (200 – OK) e mais um monte de informação – Incluindo os cabeçalhos da resposta (Response Headers).

E é assim que acontece a comunicação. No momento não vou aprofundar no Protocolo HTTP para voltarmos ao foco do post, porém vou citar mais algumas coisas legais na próxima postagem. 😉

URL – Uniform Resource Locator

Em português: Localizador de Recursos Universal e como o próprio nome diz, se refere ao local, o Host que você quer acessar determinado recurso. O objetivo da URL é associar um endereço remoto com um nome de recurso na Internet.

Exemplo de URL

  • woliveiras.com.br
  • woliveiras.org
  • woliveiras.xxx

Ou seja, acessando esses endereços você cai no servidor onde está minha página – Só exemplo – e o servidor vai se encarregar de processar sua solicitação.

A URL é parte da URI.

URN – Uniform Resource Name

Em português: Nome de Recursos Universal é o nome do recurso que será acessado e também fará parte da URI.

  • home.html
  • contato.php
  • servicos.html

É comum associarmos URN a página que estamos acessando.

Outro ex.: /api/v01/exemplo/usuarios

URI – Uniform Resource Identifier

Em português: Identificador de Recursos Universal, como diz o próprio nome, é o identificador do recurso. Pode ser uma imagem, uma página, etc, pois tudo o que está disponível na internet precisa de um identificador único para que não seja confundido.

Exemplos de URI

  • http://woliveiras.com.br/desenvolvedor-front-end/
  • http://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol

Pra ficar mais fácil de entender, pois sei que deve ter dado um nó agora:

A URI une o Protocolo (http://) a localização do recurso (URL – woliveiras.com.br) e o nome do recurso (URN – /desenvolvedor-front-end/) para que você acesse as coisas na Web.

Fonte: William Oliveira – https://woliveiras.com.br/posts/url-uri-qual-diferenca/

Eu sempre tive essa dúvida mas nunca resolvi buscar a explicação. Hoje, bateu a dúvida novamente e ao buscar no Pai Google achei o site dele. Achei a explicação muito boa e resolvi compartilhar aqui. De quebra também acabei navegando no site dele e achei muita coisa legal. Ele também tem projetos sociais que achei bem bacanas. Acessa lá o site dele e dá uma olhada… Se quiser apoiar ele, também é possível, só acessar esse link!


Deixe um comentário