Estrutura e Análise de Query String
Guias de Codificação de URL
Uma query string é a parte de uma URL depois do ?, usada para passar informações extras a uma página. Em https://example.com/search?q=book&page=2, a query string é q=book&page=2.
As regras
Uma query string são pares key=value unidos por &.
?— marca o início da query string=— separa uma chave do seu valor&— separa múltiplos pares#— encerra a query string (o que vem depois é o fragment/hash)
Quando um valor contém caracteres especiais
Se um valor contém & ou =, ele entra em conflito com os separadores, então o valor precisa ser codificado com encodeURIComponent. Um termo de busca a&b tem de ser escrito como q=a%26b para manter o parâmetro intacto. Um espaço é mostrado como %20 ou + dependendo da codificação, e os analisadores frequentemente transformam + de volta em espaço.
Analisando com segurança
Os navegadores fornecem o URLSearchParams para lidar com query strings de forma segura. Recorrer a ele em vez de dividir você mesmo no & trata codificação, chaves duplicadas e valores vazios automaticamente.
A aba Analisador de Query deste site divide uma URL colada em componentes e mostra o valor original e o decodificado de cada parâmetro lado a lado.