Qual a diferença entre a codificação de componentes e “codificar tudo”?
Um URL não é uma string grande que você codifica cegamente; são peças com regras diferentes. Um valor que pertence a um parâmetro de consulta precisa de um tratamento diferente de um segmento de caminho, e misturar essas camadas é como você obtém um link que funciona quando colado, mas falha quando criado por um modelo. Para as equipes de produto e marketing, o problema é a ativação, onde a preparação funcionou porque alguém digitou um URL amigável e a produção falhou porque um SKU ou o nome de uma cidade continha um caractere que o roteador ou gateway leu como estrutura. Uma etapa on-line de codificação do componente URI é como você nomeia qual fatia é um valor, qual fatia é o caminho e quais caracteres devem se tornar bytes percentuais para que a camada certa receba o significado correto. Um fluxo de trabalho on-line gratuito no estilo encodeURIComponent é uma ferramenta de ensino, não uma varinha mágica, e ainda é um alívio quando a janela de lançamento é pequena e a sala está cheia de pessoas que precisam de um objeto compartilhado para apontar, e não de um debate sobre quem copiou o quê em um formulário. A frustração é a codificação dupla, o erro clássico em que uma string segura passa por uma segunda passagem e se torna lixo, ou o oposto, onde uma barra dentro de um valor é lida como uma quebra de caminho e um cliente termina na página errada. O benefício é uma revisão mais calma, uma transferência que você pode arquivar e uma matriz de teste que está realmente completa, não quase completa. Se você está cansado de 404s que parecem pessoais, adicione um componente primeiro hábito antes de chamar um link final, e você encontrará menos casos em que um humano lê o URL em um baralho enquanto o sistema lê outra coisa. Quando estiver pronto, crie pares de valores-chave em texto simples, codifique os valores como componentes, monte a base, depois a consulta e, em seguida, teste, porque a ordem é importante na forma como algumas estruturas registram e reescrevem.
Como usar a codificação do componente URI
- Construa primeiro a lista de pares chave/valor em texto simples, depois codifique cada valor como um componente, não um URL inteiro, a menos que um auxiliar claramente suporte o modo URL completo.
- Monte o caminho base sem codificar as barras e adicione ? e a string de consulta codificada, observando se há uma barra faltando na raiz, se seu aplicativo exigir uma.
- Teste percorrendo a decodificação, caractere por caractere, para o pior caso SKU e nomes de cidades, não uma amostra em inglês apenas em um bom dia de rede em um navegador.