O que é codificação URL? Guia sobre percent-encoding em endereços web
A codificação URL (percent-encoding) é o mecanismo que garante que endereços web trafeguem com segurança pela internet, convertendo caracteres especiais em um formato universalmente transmissível. Todo desenvolvedor web lida com isso diariamente.
Por que a codificação URL existe
As URLs foram originalmente projetadas para conter apenas um conjunto limitado de caracteres do repertório ASCII. No entanto, a web moderna precisa transmitir dados que incluem espaços, caracteres acentuados, emojis e símbolos que não têm lugar em uma URL bruta. A codificação URL resolve esse problema substituindo caracteres inseguros por um % seguido de dois dígitos hexadecimais.
Como o percent-encoding funciona
Cada caractere que precisa ser codificado é convertido em seu valor em bytes (em UTF-8 para a maioria dos sistemas modernos) e representado como %XX, onde XX é o valor hexadecimal. Por exemplo:
- Um espaço se torna
%20 - Um E comercial
&se torna%26 - O símbolo do euro
€se torna%E2%82%AC(três bytes em UTF-8) - Uma barra
/se torna%2F
Alguns caracteres são sempre seguros e nunca precisam de codificação: letras (A-Z, a-z), dígitos (0-9) e alguns caracteres especiais como -, _, . e ~.
Caracteres reservados e não reservados
A RFC 3986 define duas categorias:
- Caracteres não reservados: Letras, dígitos,
-,_,.,~— nunca precisam de codificação. - Caracteres reservados:
:,/,?,#,[,],@,!,$,&,',(,),*,+,,,;,=— têm significado estrutural nas URLs e devem ser codificados quando usados como dados em vez de delimitadores.
Quando você deve codificar URLs
Cenários comuns que exigem codificação URL:
- Parâmetros de consulta: Valores em pares
?chave=valordevem ser codificados para lidar com espaços e caracteres especiais. - Segmentos de caminho: Nomes de arquivo ou slugs com caracteres não-ASCII precisam de codificação.
- Envio de formulários: Formulários HTML com
application/x-www-form-urlencodedusam uma codificação ligeiramente diferente onde espaços se tornam+. - Redirecionamentos: Redirecionamentos no servidor com conteúdo gerado pelo usuário na URL.
Erros comuns
- Codificação dupla: Codificar uma URL já codificada produz sequências
%25que corrompem os dados originais. - Codificar a URL inteira: Você deve codificar componentes individuais (caminho, valores de consulta), não a URL inteira incluindo
://e?. - Confusão com o sinal de mais: Em strings de consulta,
+representa um espaço emapplication/x-www-form-urlencoded, mas um+literal no caminho da URL.
Perguntas frequentes
Qual é a diferença entre codificação URL e codificação HTML?
A codificação URL converte caracteres para transmissão segura em endereços web usando notação de porcentagem (%XX). A codificação HTML converte caracteres para exibição segura em HTML usando entidades como & e <.
Devo codificar a URL inteira ou apenas partes?
Codifique componentes individuais — os segmentos de caminho e os valores de parâmetros de consulta — não a URL inteira. O protocolo, o host e os caracteres estruturais como ? e & devem permanecer sem codificação.
Por que um espaço se torna %20 em alguns casos e + em outros?
No percent-encoding (RFC 3986), um espaço é %20. Na codificação de formulários (application/x-www-form-urlencoded), um espaço é representado como +. Ambos são válidos, mas usados em contextos diferentes.
Guias relacionados
- O que é codificação Base64? Como funciona e quando usar
- O que é JSON? Guia completo sobre a notação de objetos JavaScript
- O que é um UUID? Entendendo os identificadores universalmente únicos
- O que é uma função hash? Entendendo MD5, SHA e hashing criptográfico
- O que é XML? Guia completo sobre a linguagem de marcação extensível
Experimente a ferramenta
Use nossa ferramenta gratuita para começar instantaneamente.
Codificador e Decodificador de URL →Última atualização em 2026-09-27