URLs e Strings de Consulta

URLs e Strings de Consulta

URLs e Strings de Consulta

A camada de URL implementa a análise no estilo WHATWG — o mesmo comportamento que os navegadores aplicam — de modo que URLs extraídas de documentos são resolvidas e normalizadas da mesma forma que em um agente de usuário real.


Análise e Validação

URL.parse() analisa uma URL absoluta ou relativa; URL.can_parse() responde se é válida sem construir um objeto. Falhas de análise lançam o URLParseError tipado.

Strings de Consulta

URLSearchParams lê e edita parâmetros de consulta: append(), get(), get_all(), has() e delete() cobrem o ciclo completo, preservando a semântica de múltiplos valores.


Dicas e Melhores Práticas

  • Use can_parse() para validação simples em filtros; construa com parse() somente quando precisar dos componentes
  • Lembre-se de que as chaves de consulta podem se repetir — use get_all() quando um parâmetro puder aparecer mais de uma vez
  • Capture URLParseError ao invés de pré-validar com expressões regulares

Problemas comuns

ProblemaCausaCorreção
URL relativo falha ao analisarNenhuma base fornecidaForneça a base conforme URL.parse()
Apenas o primeiro valor da consulta retornadoUsado get() em uma chave repetidaUse get_all()
Caracteres estranhos nos componentesNormalização WHATWG em açãoEsperado — isso corresponde ao comportamento do navegador

FAQ

A análise segue o padrão WHATWG?

Sim — a normalização e a divisão de componentes espelham o comportamento dos navegadores.

Como verifico uma URL sem analisá-la?

URL.can_parse() retorna validade sem construção de objeto.

Posso editar uma string de consulta no local?

Sim — URLSearchParams suporta ciclos de append/get/has/delete.


API Reference Resumo

Classe/MétodoDescrição
URL.parseAnalisar um URL
URL.can_parseVerificação de validade sem construção
URLSearchParams.appendAdicionar um parâmetro de consulta
URLSearchParams.get_allTodos os valores para uma chave
URLParseErrorFalha na análise tipada

Ver também

 Português