Codificação e Decodificação de URL


Introdução ao URL

O que é um URL

URL é a sigla para Uniform Resource Locator (Localizador Uniforme de Recursos), utilizado para identificar a localização de recursos na internet.

O formato do URL é scheme:[//authority]path[?query][#fragment], onde authority = [userinfo@]host[:port].

  1. scheme - Refere-se ao protocolo, como http ou ftp, obrigatório
  2. userinfo - Informações do usuário para autenticação, no formato username:password, opcional
  3. host - O host, pode ser um domínio ou IP, obrigatório
  4. port - Número da porta, opcional, utiliza a porta padrão do protocolo se não especificada
  5. path - Caminho, utilizado para representar diretórios e endereços de arquivos no host. Opcional
  6. query - Parâmetros de consulta. Opcional
  7. fragment - Fragmento, refere-se a uma parte específica de um recurso na web. Opcional

Um exemplo simples de URL: https://www.codeeeee.com, utiliza apenas scheme e host, com a porta padrão de https, que é 443

O que é um URI

URI, sigla para Uniform Resource Identifier (Identificador Uniforme de Recurso), é utilizado para nomear recursos na internet. URL e URI têm formatos similares e são frequentemente confundidos, podendo ser considerados equivalentes em alguns casos. A diferença entre eles é que URL representa a localização do recurso, enquanto URI representa o nome do recurso. URL é um tipo de URI.

Por que codificar URLs

URLs só podem conter caracteres do conjunto ASCII, logo, quando aparecem caracteres fora deste conjunto, é necessário codificá-los. Além disso, URLs contêm alguns caracteres reservados, como :, /, &, que também devem ser codificados para evitar confusão na interpretação da URL.

Regras de codificação de URL

Ao codificar URLs, os caracteres são representados por sua codificação percentual (%). As regras específicas de codificação podem ser encontradas aqui.

Em Javascript, pode-se usar encodeURIComponent e decodeURIComponent para codificar e decodificar URLs.