URL a řetězce dotazů

URL a dotazové řetězce

Vrstva URL implementuje parsování ve stylu WHATWG — stejné chování, jaké používají prohlížeče — takže URL extrahované z dokumentů se rozlišují a normalizují tak, jak by to dělalo skutečné uživatelské rozhraní.


Parsování a validace

URL.parse() parsuje absolutní nebo relativní URL; URL.can_parse() odpovídá na platnost bez vytváření objektu. Selhání parsování vyvolá typovaný URLParseError.

Dotazové řetězce

URLSearchParams čte a upravuje dotazové parametry: append(), get(), get_all(), has() a delete() pokrývají celý proces, zachovávajíce semantiku vícehodnotových parametrů.


Tipy a osvědčené postupy

  • Použijte can_parse() pro levnou validaci ve filtrech; vytvořte pomocí parse() pouze když potřebujete komponenty
  • Pamatujte, že klíče dotazu se mohou opakovat — použijte get_all(), když se parametr může objevit vícekrát
  • Zachyťte URLParseError místo předběžné validace pomocí regulárních výrazů

Časté problémy

ProblémPříčinaOprava
Relativní URL se nepodařilo parsovatNebyla poskytnuta základnaPoskytněte základ podle URL.parse()
Vrácena pouze první hodnota dotazuPoužito get() na opakovaném klíčiPoužijte get_all()
Podivné znaky v komponentáchWHATWG normalizace v praxiOčekáváno — toto odpovídá chování prohlížeče

FAQ

Dodržuje parsování standard WHATWG?

Ano — normalizace a rozdělení komponent odráží chování prohlížeče.

Jak mohu zkontrolovat URL bez parsování?

URL.can_parse() vrací platnost bez vytváření objektu.

Mohu upravit řetězec dotazu přímo?

Ano — URLSearchParams podporuje round-tripy append/get/has/delete.


API Reference Shrnutí

Třída/MetodaPopis:
URL.parseRozparsovat URL
URL.can_parseKontrola platnosti bez konstrukce
URLSearchParams.appendPřidat parametr dotazu
URLSearchParams.get_allVšechny hodnoty pro klíč
URLParseErrorSelhání typového parsování

Viz také:

 Čeština