URLs und Abfragezeichenfolgen

URLs und Abfragezeichenfolgen

URLs und Abfragezeichenfolgen

Die URL-Schicht implementiert das WHATWG-Style-Parsing — das gleiche Verhalten, das Browser anwenden — sodass aus Dokumenten extrahierte URLs auf die gleiche Weise aufgelöst und normalisiert werden, wie es ein echter User-Agent tun würde.


Parsing und Validierung

URL.parse() analysiert eine absolute oder relative URL; URL.can_parse() gibt die Gültigkeit zurück, ohne ein Objekt zu erzeugen. Parse-Fehler werfen die typisierte URLParseError.

Abfragezeichenfolgen

URLSearchParams liest und bearbeitet Abfrageparameter: append(), get(), get_all(), has() und delete() decken den Round-Trip ab und erhalten die Mehrwert-Semantik bei.


Tipps und bewährte Vorgehensweisen

  • Verwenden Sie can_parse() für einfache Validierung in Filtern; konstruieren Sie mit parse() nur, wenn Sie die Komponenten benötigen
  • Denken Sie daran, dass Abfrage-Schlüssel wiederholt werden können — verwenden Sie get_all(), wenn ein Parameter mehrmals auftreten kann
  • Fangen Sie URLParseError ab, anstatt vorab mit regulären Ausdrücken zu validieren

Häufige Probleme

ProblemUrsacheLösung
Relative URL lässt sich nicht parsenKeine Basis angegebenGeben Sie die Basis gemäß URL.parse() an
Nur der erste Abfragewert zurückgegebenget() bei einem wiederholten Schlüssel verwendetVerwenden Sie get_all()
Seltsame Zeichen in KomponentenWHATWG-Normalisierung im EinsatzErwartet — das entspricht dem Browserverhalten

FAQ

Folgt das Parsen dem WHATWG-Standard?

Ja — Normalisierung und Aufteilen der Komponenten spiegeln das Verhalten von Browsern wider.

Wie prüfe ich eine URL, ohne sie zu parsen?

URL.can_parse() gibt die Gültigkeit zurück, ohne ein Objekt zu erstellen.

Kann ich einen Query-String vor Ort bearbeiten?

Ja — URLSearchParams unterstützt append/get/has/delete Round-Trips.


API Reference Zusammenfassung

Klasse/MethodeBeschreibung
URL.parseParsen Sie eine URL
URL.can_parseGültigkeitsprüfung ohne Konstruktion
URLSearchParams.appendFüge einen Abfrageparameter hinzu
URLSearchParams.get_allAlle Werte für einen Schlüssel
URLParseErrorFehler beim typisierten Parsen

Siehe auch

 Deutsch