URL's en querystrings
URL’s en querystrings
De URL-laag implementeert parsing in WHATWG-stijl — hetzelfde gedrag dat browsers toepassen — zodat URL’s die uit documenten worden gehaald, worden opgelost en genormaliseerd op dezelfde manier als in een echte user-agent.
Parsen en valideren
URL.parse() parst een absolute of relatieve URL; URL.can_parse() geeft de geldigheid aan zonder een object te construeren. Parse-fouten veroorzaken de getypte URLParseError.
Querystrings
URLSearchParams leest en bewerkt query-parameters: append(), get(), get_all(), has() en delete() dekken de round-trip, waarbij de multi-waarde-semantiek behouden blijft.
Tips en best practices
- Gebruik
can_parse()voor goedkope validatie in filters; bouw metparse()alleen wanneer je de componenten nodig hebt - Onthoud dat query-sleutels zich herhalen — gebruik
get_all()wanneer een parameter meer dan eens kan voorkomen - Vang
URLParseErrorop in plaats van vooraf te valideren met reguliere expressies
Veelvoorkomende problemen
| Probleem | Oorzaak | Oplossing |
|---|---|---|
| Relatieve URL kan niet worden geparseerd | Geen basis opgegeven | Voorzie de basis volgens URL.parse() |
| Alleen eerste query-waarde geretourneerd | Gebruik get() op een herhaalde sleutel | Gebruik get_all() |
| Vreemde tekens in componenten | WHATWG-normalisatie in werking | Verwacht — dit komt overeen met het gedrag van de browser |
FAQ
Volgt het parsen de WHATWG-standaard?
Ja — normalisatie en component-splitsing weerspiegelen het gedrag van browsers.
Hoe controleer ik een URL zonder deze te parsen?
URL.can_parse() retourneert geldigheid zonder objectconstructie.
Kan ik een query-string ter plekke bewerken?
Ja — URLSearchParams ondersteunt append/get/has/delete round-trips.
API Reference Samenvatting
| Klasse/Methode | Beschrijving |
|---|---|
URL.parse | Parse een URL |
URL.can_parse | Validiteitscontrole zonder constructie |
URLSearchParams.append | Voeg een queryparameter toe |
URLSearchParams.get_all | Alle waarden voor een sleutel |
URLParseError | Getypte parse-fout |