Por que as codificações de um URL e a parte da string de consulta diferem?

Eu estava pesquisando por que meus parâmetros de consulta têm mais+ assina nele em vez de%20 e por que eles têm strings como%C3%BC em vez de um ü (UTF-8) como um URL codificad

epois de duas horas pensando que meu aplicativo da web não é compatível com o padrão de codificação de URL, descobri que o esquema de codificação de uma string de consulta não é o mesmo que a codificação de uma URL (aqui eu quero dizer a parte sem a string de consulta

Exemplos

URL:whitespace codifica para% 20 Caracteres UTF-8 permanece caracteres UTF-8Query params:whitespace codifica para + UTF-8 chars codifica para a representação hexadecimal

lguém pode me dizer por que os esquemas de codificação diferem, já que os parâmetros de consulta fazem parte da UR

Vejo

wiki Porcentagem de codificaçãowiki: String de consulta

questionAnswers(3)

yourAnswerToTheQuestion