PK Systems PK Systems
Web & marketing

URL-parser

Ontleed elke URL in protocol, host, poort, pad, query en fragment — met IDN-punycode-decodering en query-pair-extractie. Draait volledig in je browser.

URL-parser

Plak een willekeurige URL. Zowel ASCII als geïnternationaliseerde hosts worden ondersteund.

Componenten

Query-parameters

SleutelWaarde

Geen query-parameters.

Genormaliseerde URL

Wat is een URL-parser?

Een URL-parser splitst een Uniform Resource Locator in de gelabelde delen die RFC 3986 definieert: scheme, optionele userinfo, host (met optionele poort), pad, query en fragment. Elke browser, server, proxy, CDN en linkchecker doet dit intern voordat hij een request kan routeren of herschrijven. De ontleding expliciet zien maakt het makkelijk om coderingsbugs, foutgeplaatste schuine strepen, per ongeluk meegegeven credentials in URL's en IDN-homograph-aanvallen op te sporen.

Hoe gebruik je deze parser

Plak een URL in het vak. Het componenten-paneel werkt direct bij. Kijk naar de rij host om te zien of punycode in het spel is (een host die met xn-- begint, is IDN-gecodeerd), check de rij poort om te bevestigen of de URL de standaardpoort van het protocol gebruikt, en scan de tabel query-parameters om te zien welke sleutels en waarden bij de server aankomen. De rij genormaliseerde URL toont hoe de URL eruitziet nadat de parser van de browser hem heeft opgeruimd — hoofdletter-scheme verkleind, standaardpoort gestript, percent-codering opgeschoond.

Waarom fragmenten de server niet bereiken

Het fragment — het deel na # — is gereserveerd voor de user agent. Browsers strippen het voor het HTTP-request, daarom kan de server (en je access logs en de raw landingspagina-data van je analytics-tools) het niet zien. Single-page apps maken hier opzettelijk gebruik van om navigatie direct te laten voelen: route-wijzigingen werken het fragment bij in plaats van een echt netwerk-request te triggeren. Heb je een waarde nodig die de server moet bereiken, zet die dan in de query-string, niet in het fragment.

URL-anatomie

Onderdeel Voorbeeld Rol
protocolhttps:Vertelt de client welk protocol gesproken moet worden.
hostshop.example.comDe server om verbinding mee te maken. Kan een domeinnaam of een IP-literal zijn.
port8443TCP-poort. Standaard is 80 voor http, 443 voor https.
path/cart/checkoutResource-pad op de server. Begint altijd met /.
query?id=42&ref=hpOptionele key/value-paren na de ?.
fragment#paymentClient-side anker na de #. Wordt nooit naar de server gestuurd.

Veelgestelde vragen

Stuurt deze tool mijn URL's ergens naartoe?
Nee. Het parsen gebruikt de ingebouwde URL-constructor van de browser; niets wordt geüpload. Open DevTools > Network — je ziet geen requests tijdens typen.
Wat is punycode?
Punycode is de alleen-ASCII-codering voor geïnternationaliseerde domeinnamen. münchen.de over de lijn is xn--mnchen-3ya.de. De parser toont beide vormen, zodat je homograph-aanvallen kunt herkennen waarbij een kwaadaardige host zich als een bekend merk vermomt.
Waarom toont de parser userinfo als ik een URL met credentials plak?
Omdat RFC 3986 die syntax nog steeds definieert. Browsers tonen een waarschuwing en strippen credentials voor navigatie, maar veel CLI-tools, scrapers en legacy-SDK's accepteren ze. Elke URL met userinfo als verdacht behandelen is een verstandige standaard in code review.
Worden herhaalde query-keys behouden?
Ja. ?tag=a&tag=b toont beide rijen. Hoe een server duplicaten interpreteert is framework-afhankelijk — PHP houdt standaard de laatste waarde, URLSearchParams in Node.js geeft een array terug. De parser ontdubbelt niet; hij toont wat er werkelijk in de URL staat.
Wat wordt percent-gedecodeerd?
Elke component wordt gedecodeerd getoond voor leesbaarheid, maar de genormaliseerde URL behoudt de canonieke percent-gecodeerde vorm zodat je hem terug kunt plakken in code zonder round-trip via onveilige tekens. Spaties, schuine strepen en gereserveerde tekens blijven gecodeerd waar nodig.
Kan ik mailto:- of tel:-URL's parsen?
Ja — elke URL die de URL-constructor van de browser accepteert. Voor mailto: staat het adres in het pad, headers als ?subject= verschijnen als query-parameters. Voor geavanceerdere mailto-bouw zie onze speciale mailto-link-generator.