Processador de URLs / Inspector
Colar um ou mais URLs completos (um por linha) para quebrar cada um em seu protocolo, host, caminho, string de consulta e fragmento, com cada parâmetro de consulta decodificado.
Colar um ou mais URLs completos (um por linha) para quebrar cada um em seu protocolo, host, caminho, string de consulta e fragmento, com cada parâmetro de consulta decodificado.
Um URL só pode conter letras, dígitos e um pequeno conjunto de símbolos (- _ . ~). Todo o resto, incluindo espaços, pontuação e caracteres não-inglês, tem que ser representado com porcentagem de codificação antes que possa viajar dentro de uma URL.
A codificação percentual substitui um caractere por um sinal de porcentagem seguido de seu valor de byte hexadecimal de dois dígitos, usando UTF-8 para qualquer coisa fora do ASCII básico. Um espaço torna-se% 20, um ampersand torna-se% 26, e um caractere acentuado ou não-latino pode se tornar várias sequências %XX em uma linha, uma vez que UTF-8 representa-o como mais de um byte.
Caracteres como ? & = # e / têm um significado especial em uma estrutura de URL: eles marcam a string de consulta, parâmetros separados ou introduzem o fragmento. Se seus dados precisam conter um desses caracteres como um valor em vez de estrutura, codificá-lo primeiro, ou o navegador ou servidor pode ler mal onde uma parte da URL termina e a próxima começa.
A decodificação reverte o processo: ela lê cada sequência %XX de volta para o caractere (ou byte) que representa, que é exatamente o que a ferramenta acima faz.
| Caracter | Codificado | Se for utilizado |
|---|---|---|
| espaço | %20 | Separador de palavras dentro de um valor |
| ! | %21 | |
| " | %22 | |
| # | %23 | Inicia o fragmento |
| % | %25 | Inicia uma sequência codificada por cento |
| & | %26 | Separa parâmetros de pesquisa |
| ' | %27 | |
| ( | %28 | |
| ) | %29 | |
| + | %2B | Frequentemente lido como um espaço dentro de uma string de pesquisa |
| , | %2C | |
| / | %2F | Separa segmentos de caminho |
| : | %3A | Segue o esquema, por exemplo https: |
| ; | %3B | |
| = | %3D | Atribui o valor de um parâmetro de pesquisa |
| ? | %3F | Inicia o texto da pesquisa |
| @ | %40 | |
| [ | %5B | |
| ] | %5D |
Um aluno copia um endereço web de um formulário online e vê um texto como science%20project%20notes. Um desenvolvedor iniciante examina uma requisição de API e descobre que um E comercial dentro de um valor de pesquisa aparece como %26. O link funciona, mas é difícil de ler e depurar.
Uma ferramenta de decodificação de URL converte sequências codificadas em porcentagem de volta aos caracteres correspondentes. Por exemplo, %20 costuma se tornar um espaço, enquanto %26 se torna um E comercial.
A decodificação é útil para entender links, examinar parâmetros de consulta, estudar a codificação web e diagnosticar requisições malformadas. Deve ser feita com cuidado, pois caracteres reservados podem alterar a estrutura de uma URL depois de decodificados.
A ferramenta não determina se um destino é seguro, correto ou autorizado. Ela apenas altera a representação de caracteres codificados. Alunos e desenvolvedores ainda precisam examinar o host, o caminho, os parâmetros e os valores decodificados.
URLs usam determinados caracteres para separar suas partes. Um ponto de interrogação pode iniciar uma string de consulta, um E comercial pode separar parâmetros, e um sinal de cerquilha pode identificar um fragmento.
Quando um desses caracteres precisa aparecer como dado, e não como separador estrutural, ele pode ser codificado em porcentagem. Um sinal de porcentagem é seguido por dois dígitos hexadecimais que representam um valor de byte.
| Valor codificado | Caractere decodificado | Significado comum |
|---|---|---|
%20 |
Espaço | Separa palavras dentro de um valor |
%21 |
! |
Ponto de exclamação |
%23 |
# |
Cerquilha ou marcador de fragmento |
%26 |
& |
E comercial ou separador de consulta |
%2B |
+ |
Sinal de mais |
%2F |
/ |
Barra ou separador de caminho |
%3A |
: |
Dois-pontos |
%3D |
= |
Sinal de igual ou separador de parâmetro |
%3F |
? |
Ponto de interrogação ou marcador de consulta |
As letras hexadecimais em sequências de porcentagem não diferenciam maiúsculas de minúsculas, portanto %2F e %2f representam o mesmo byte.
Considere este exemplo:
https://example.edu/search?q=water%20cycle&level=grade%206#results
Suas principais partes são:
httpsexample.edu/searchq=water%20cycle&level=grade%206resultsOs valores da consulta são decodificados como "water cycle" e "grade 6". O E comercial estrutural entre os parâmetros não deve ser confundido com um E comercial codificado dentro de um valor.
Desenvolvedores costumam criar problemas ao decodificar uma URL inteira quando apenas um componente deveria ser decodificado. Caracteres reservados podem ter funções diferentes dependendo de onde aparecem.
Suponha que uma consulta contenha:
?topic=research%26writing
O valor codificado representa:
research&writing
O E comercial faz parte do valor do tópico. Se a consulta completa for decodificada e depois interpretada incorretamente, o E comercial pode ser confundido com um separador que introduz outro parâmetro.
Uma aplicação confiável analisa a URL de acordo com sua estrutura e decodifica cada componente com uma API de URL apropriada, em vez de usar substituições arbitrárias de string.
Os alunos examinam:
https://example.edu/library?topic=space%20science
Eles identificam o host, o caminho, o nome do parâmetro e o valor codificado.
O valor space%20science se torna space science. Os alunos explicam por que um espaço literal normalmente não é escrito diretamente em uma URL compartilhada.
O professor fornece:
?title=Design%20%26%20Technology
O título decodificado é Design & Technology. Os alunos observam que o E comercial codificado pertence ao título, em vez de separar parâmetros.
Os alunos usam a Ferramenta de Codificação de URL para preparar um novo valor, depois o decodificam e comparam o resultado.
Uma sequência contém um escape de porcentagem incompleto, como %2. Os alunos identificam por que são esperados dois dígitos hexadecimais após o sinal de porcentagem.
Um aluno copia um link de pesquisa de biblioteca contendo várias palavras codificadas. A URL visível é difícil de interpretar.
O aluno decodifica os valores da consulta e confirma quais termos de pesquisa e filtros foram incluídos. O host é verificado antes de o link ser aberto.
Isso ajuda o aluno a entender como um site transporta informações de pesquisa entre páginas.
Um desenvolvedor iniciante envia uma requisição contendo o título de um curso com um E comercial. O servidor recebe o título como dois parâmetros separados.
O desenvolvedor examina a requisição bruta e descobre que o E comercial não foi codificado como dado. O valor é preparado com uma API de URL padrão e testado novamente.
O decodificador ajuda a explicar a requisição, mas a solução permanente usa tratamento estruturado de URL em vez de substituição manual.
Um professor recebe um link para um documento da turma, mas o destino informa que o arquivo não pôde ser encontrado.
A URL é examinada e decodificada. Um nome de arquivo contém uma barra que pode ter sido tratada como separador de caminho, ou um espaço foi copiado incorretamente.
O professor obtém um novo link de compartilhamento do proprietário do documento, em vez de editar às cegas um endereço privado desconhecido.
Os alunos criam um formulário de pesquisa simples e observam a URL depois de enviar um texto com espaços e pontuação.
Eles decodificam os valores dos parâmetros e os comparam com a entrada original do formulário. A turma discute por que os navegadores codificam valores antes de colocá-los em uma URL.
Nenhuma senha real, registro de aluno ou resposta privada é usada no exercício.
Um link do boletim informativo da escola contém vários parâmetros de rastreamento. Um professor quer entender quais informações estão incluídas antes de compartilhá-lo.
A URL é separada em parâmetros, e seus valores são decodificados. Valores de rastreamento desnecessários podem ser removidos apenas quando isso não quebra o destino necessário.
O link final é testado, em vez de simplesmente considerado funcional após uma edição manual.
Uma turma de informática testa uma frase curta em outro idioma dentro de uma URL. O resultado codificado contém várias sequências de porcentagem, porque caracteres UTF-8 podem usar múltiplos bytes.
Os alunos decodificam a sequência completa e a comparam com a frase original. Remover um byte codificado em porcentagem pode produzir um caractere de substituição ou texto inválido.
A atividade demonstra que um caractere visível nem sempre corresponde a um único byte codificado.
Um desenvolvedor espera um espaço, mas vê %2520. A sequência %25 representa um sinal de porcentagem, então uma decodificação produz %20, e outra pode produzir um espaço.
O desenvolvedor rastreia onde o valor foi codificado duas vezes. O fluxo de dados é corrigido, em vez de decodificar repetidamente cada entrada.
Um link contém outra URL codificada dentro de um parâmetro como redirect ou next.
O usuário decodifica o valor como texto simples e verifica o host de destino real antes de abri-lo. Um endereço codificado não deve ser considerado confiável apenas porque seu destino final é difícil de ler.
| Entrada | Codificação provável | Ferramenta correta | Exemplo decodificado |
|---|---|---|---|
lesson%20notes |
Codificação de porcentagem de URL | Decodificação de URL | lesson notes |
<p> |
Entidades HTML | Decodificação HTML | <p> |
SGVsbG8= |
Base64 | Decodificação Base64 | Hello |
u003F |
Escape Unicode | Analisador JSON ou específico da linguagem | ? |
Use a Ferramenta de Decodificação HTML para referências de entidades e a Ferramenta de Decodificação Base64 apenas quando se sabe que os dados usam esses formatos.
Os espaços são comumente representados como %20. Na codificação de consultas no estilo de formulário, um sinal de mais também pode ser interpretado como um espaço.
Isso cria uma distinção importante:
class%20notes geralmente é decodificado como class notes.class+notes pode ser decodificado como class notes em um contexto de consulta de formulário.%2B.Use o método de decodificação projetado para o componente e o formato específicos. Um decodificador de caminho e um decodificador de consulta de formulário podem não tratar sinais de mais da mesma forma.
A codificação de porcentagem opera em bytes. Um caractere fora do ASCII básico pode ser representado por vários bytes codificados.
Por exemplo, uma letra acentuada ou um caractere árabe pode aparecer como uma sequência de vários escapes de porcentagem. Todos os bytes necessários devem permanecer em ordem e ser interpretados usando a codificação de caracteres correta.
Se a saída contiver símbolos de substituição, verifique se:
Caracteres reservados podem alterar a estrutura após a decodificação. Separe a URL em componentes e decodifique apenas o valor pretendido.
A decodificação repetida pode transformar dados antes seguros em separadores ativos ou caminhos inesperados. Investigue por que existem várias camadas de codificação.
Substituir %20 por espaços não trata todos os caracteres codificados, sequências UTF-8, entradas malformadas ou regras de sinal de mais. Use um analisador de URL estruturado ou uma API padrão no código.
Decodifique-o primeiro como texto. Examine o esquema, o nome do host, o caminho e os parâmetros antes de decidir se deve visitá-lo.
%26 e & podem representar um E comercial em contextos diferentes. Escolha o decodificador com base na representação real.
Um sinal de porcentagem deve ser seguido por dois dígitos hexadecimais. Sequências incompletas ou inválidas podem indicar uma entrada danificada.
URLs podem aparecer no histórico do navegador, em registros, análises, capturas de tela e mensagens compartilhadas. Credenciais sensíveis não devem ser colocadas em strings de consulta.
Valores decodificados podem conter caracteres com significado especial. Uma barra decodificada pode afetar um caminho, um E comercial pode alterar parâmetros, e colchetes angulares podem se tornar marcação se inseridos incorretamente em uma página web.
As aplicações devem:
Decodificar não é higienizar. Isso revela os caracteres representados, mas não determina se eles são seguros para HTML, caminhos de arquivo, consultas de banco de dados ou redirecionamentos.
Uma URL pode conter termos de pesquisa, identificadores de documentos, endereços de e-mail, códigos de turma, nomes de arquivo, dados de rastreamento e outras informações. A decodificação torna essas informações mais fáceis de ler, mas não as remove.
Não cole links escolares privados, tokens de redefinição, URLs assinadas, endereços de registros de alunos ou dados de autenticação em uma ferramenta externa. Substitua valores sensíveis por exemplos fictícios durante aulas e demonstrações de depuração.
Antes de compartilhar uma captura de tela de uma URL decodificada, remova nomes de conta, hosts privados, tokens e identificadores de documentos.
Desenvolvedores iniciantes devem preferir APIs de URL estruturadas. Em JavaScript, um valor de consulta pode ser examinado assim:
const url = new URL(
"https://example.edu/search?q=water%20cycle"
);
const query = url.searchParams.get("q");
console.log(query);
// water cycle
Essa abordagem analisa a URL e retorna o valor de parâmetro decodificado. Em geral, é mais segura e mais clara do que dividir manualmente a string completa em cada ponto de interrogação, E comercial e sinal de igual.
Use a Ferramenta de Codificação de URL para preparar texto a ser usado como um componente de URL e, em seguida, decodifique-o para verificar um exemplo de aula.
Se a entrada contiver entidades como &lt; ou &quot;, use a Ferramenta de Decodificação HTML. Para texto Base64 conhecido, use a Ferramenta de Decodificação Base64.
Selecionar o decodificador correto evita transformações desnecessárias e torna a depuração mais confiável.
A decodificação de URL transforma sequências codificadas em porcentagem em caracteres legíveis. Ela ajuda os alunos a entender endereços web e ajuda os desenvolvedores a examinar valores de consulta, requisições de API, texto multilíngue, redirecionamentos e problemas de codificação dupla.
O método mais seguro é identificar o componente da URL, decodificar apenas o necessário e preservar a entrada original. Trate o resultado como dados que ainda exigem validação.
Um link decodificado legível é mais fácil de investigar, mas isso não o torna automaticamente seguro ou correto. Verifique sua estrutura, destino, parâmetros, privacidade e a codificação de caracteres pretendida antes de usá-lo.