Adressen im Griff: JavaScript-APIs für URLs
17.05.2021, 00:00 Uhr
Rolodex im Browser
JavaScript-Code muss oft mit URLs arbeiten. Nützliche APIs hat der Browser im Angebot.
Dieses Mal gibt es in unserer losen Serie zu spannenden JavaScript-APIs etwas geradezu Langweiliges: URLs. Die Adressen von Websites, API-Endpunkten und Ressourcen werden häufig in Skriptcode verwaltet, allerdings oft mit Stringkonkatenierung zum Zusammenbau und regulären Ausdrücken oder indexOf()-Kaskaden zum Ermitteln von einzelnen URL-Bestandteilen.
Dabei sind all diese Probleme bereits in modernen Browsern gelöst. Die Schnittstellen URI und URISearchParams werden von allen modernen Browsern unterstützt. Von den Browsern, die aktuell tatsächlich noch in Benutzung sind, bleibt einzig der Internet Explorer außen vor [1]. Die zugehörige Spezifikation wird nicht (mehr) beim W3C, sondern bei der WhatWG (Web Hypertext Application Technology Working Group), einer Arbeitsgruppe, in der unter anderem einige Browserhersteller sitzen, gehostet [2]. Damit ist sofort klar, dass das Dokument in die Kategorie der „lebendigen Standards“ gehört und permanent aktualisiert wird. Am Tag der Fertigstellung dieses Artikels wurde auch das Änderungsdatum der Spezifikation aktualisiert. Das bedeutet natürlich nicht, dass es permanent nicht abwärtskompatible Änderungen gibt. Meist werden nur Schreibfehler verbessert und andere redaktionelle Bearbeitungen durchgeführt, oder es werden Spezialfälle konkretisiert. So wurde bei einer Anpassung am Abgabetag des Artikels nachgetragen, dass das Pipe-Symbol (|) nicht Teil des Hostnamens eines URL sein darf. Aus der Lebenserfahrung: Eine solche Domain habe ich noch nie gesehen. Auf GitHub [3] lässt sich die Bearbeitungshistorie des Standards exakt nachverfolgen (siehe Bild 1).
Jetzt 1 Monat kostenlos testen!
Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
- + Digitales Kundenkonto,
- + Zugriff auf das digitale Heft,
- + Zugang zum digitalen Heftarchiv,
- + Auf Wunsch: Weekly Newsletter,
- + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar