Glossário

Codificação de URL

codificação percentualpercent-encoding

A codificação de URL representa um byte num componente URI por um sinal de percentagem seguido de dois algarismos hexadecimais.

Definição

A codificação de URL, mais precisamente codificação percentual, representa um byte por % e dois algarismos hexadecimais. Um espaço pode ser %20 e o próprio sinal de percentagem, %25.

Os caracteres URI não reservados—letras ASCII, algarismos, -, ., _ e ~—ficam normalmente inalterados. Os restantes dependem da posição e função.

Como funciona

Texto fora de ASCII é primeiro convertido em bytes, normalmente UTF-8, e os bytes necessários são codificados individualmente. Assim, café torna-se caf%C3%A9.

Caracteres reservados como /, ?, #, & e = estruturam o URL. A codificação depende de serem segmento de caminho, parâmetro, fragmento ou outro componente.

Espaços e dados de formulários

A codificação percentual escreve espaço como %20. O formato application/x-www-form-urlencoded, usado em consultas e formulários HTML, usa frequentemente +; um mais literal torna-se então %2B.

As bibliotecas oferecem normalmente funções distintas para URL, segmentos e valores de parâmetros. A função específica trata corretamente os separadores estruturais.

Segurança e erros frequentes

A codificação é reversível e não é criptografia. Valores sensíveis podem continuar visíveis no histórico, registos, dados Referer e arquivos do servidor.

Voltar a codificar uma percentagem já codificada gera dupla codificação: %20 torna-se %2520. Os dados descodificados devem ser validados, pois a codificação não torna segura uma entrada maliciosa.

Perguntas frequentes

%20 é o byte codificado de um espaço. + significa espaço apenas na codificação de formulários; noutro contexto pode ser literal.

Normalmente não. Codifique segmentos e valores com a função do componente para que os separadores estruturais mantenham o significado.

Não. Garante compatibilidade sintática, mas não confidencialidade, integridade ou autenticidade.

Veja também
Ferramentas relacionadas
Termos relacionados