Utilia

URL-parser

Plak een URL en zie het protocol, de host, poort, padsegmenten, gedecodeerde queryparameters en het fragment; bewerk de parameters en bouw de URL opnieuw op.

Zo ontleed je een URL

  1. Plak een URL in Te analyseren URL. Hij wordt ontleed terwijl je typt; je kunt ook op Enter drukken of op URL ontleden klikken.
  2. Bekijk de onderdelen: Protocol, Hostnaam, Poort, Host (met poort), Origin, Gebruikersnaam, Wachtwoord, Pad en Fragment (#).
  3. Controleer de lijst Padsegmenten en de tabel Queryparameters, die elke sleutel en waarde gedecodeerd toont, naast de Ruw-tekst.
  4. Wijzig onder Bewerken en opnieuw opbouwen een sleutel of waarde, klik op Parameter toevoegen of Verwijderen, of pas het fragment aan. De Nieuwe URL wordt bijgewerkt terwijl je typt.
  5. Klik op Kopiëren om de nieuwe URL te kopiëren.

Plak je een adres zonder schema, zoals example.com/pagina, dan neemt de tool https:// aan en meldt dat.

De onderdelen van een URL

De tool gebruikt de ingebouwde URL-parser van de browser, die de WHATWG URL Standard volgt. Hij ziet het adres dus precies zoals een browser dat doet. Neem https://ann:geheim@shop.example.com:8080/nl/producten?maat=M#reviews:

  • Protocol (https:) is het schema dat de browser vertelt hoe hij de resource moet ophalen.
  • Gebruikersnaam en Wachtwoord (ann, geheim) zijn optionele inloggegevens. Het wachtwoord is standaard gemaskeerd; vink Wachtwoord tonen aan om het te zien. Browsers verwijderen of weigeren zulke inloggegevens in links tegenwoordig, en je moet een URL waar ze in staan nooit delen.
  • Hostnaam (shop.example.com) is de naam van de server. Geïnternationaliseerde domeinnamen worden in hun punycodevorm (xn--…) getoond, zoals DNS ze gebruikt.
  • Poort (8080) wordt getoond als de URL er een opgeeft. Anders vermeldt de tool de standaardpoort van het schema: 80 voor http en ws, 443 voor https en wss, 21 voor ftp. Een poort die gelijk is aan de standaard, zoals :443 bij https, laat de parser weg.
  • Host (met poort) combineert beide, en Origin is schema + host + poort, de eenheid die browsers gebruiken voor beveiligingsregels zoals CORS.
  • Pad (/nl/producten) wordt opgesplitst in Padsegmenten, elk procentgedecodeerd, zodat caf%C3%A9 als café wordt getoond.
  • Fragment (#) (reviews) wijst naar een deel van de pagina. Het wordt nooit naar de server gestuurd.

Queryparameters

De querystring wordt gesplitst op &, en elk paar op de eerste =. Sleutels en waarden worden gedecodeerd zoals HTML-formulieren ze coderen: %XX-reeksen worden tekens en + wordt een spatie. Herhaalde sleutels, gebruikelijk bij filters en meerkeuzevelden (maat=M&maat=L), blijven allemaal behouden en krijgen op volgorde het label “(herhaald 1/2)”, “(herhaald 2/2)”. Een sleutel zonder = wordt getoond met een lege waarde. Kan een reeks niet worden gedecodeerd, dan wordt de ruwe tekst getoond.

Bewerken en opnieuw opbouwen

De editor begint met de huidige parameters. Lege rijen worden genegeerd. De nieuwe querystring wordt gecodeerd zoals bij het versturen van een formulier, net als URLSearchParams doet: spaties worden + en gereserveerde tekens zoals &, = of # worden procentgecodeerd, zodat een waarde ze veilig kan bevatten. Handig om trackingparameters te verwijderen, een paginanummer te wijzigen of testlinks te maken. Is het wachtwoord verborgen, dan wordt het ook in het vak Nieuwe URL gemaskeerd, maar Kopiëren kopieert de echte URL.

Veelgestelde vragen

Waarom zegt de tool dat mijn URL ongeldig is?

De meest voorkomende oorzaken zijn spaties in de host, een poort boven 65535, een ontbrekende host na https:// of tekens die niet zijn toegestaan in een hostnaam. Tekst zonder punt, zoals één los woord, wordt ook niet als hostnaam behandeld.

Wordt de URL bezocht of ergens naartoe gestuurd?

Nee. Het adres wordt alleen in je browser ontleed. Er wordt geen verzoek naar de site gedaan.

Waarom is %20 een + geworden in de nieuwe URL?

Beide betekenen een spatie in een querystring. Het opnieuw opbouwen gebruikt de formuliercodering die browsers en de meeste serverframeworks gebruiken, en die schrijft spaties als +.

Werkt het ook met mailto:-, tel:- of data:-URL’s?

Ja. Ook die worden ontleed, maar ze hebben geen host of poort: hun inhoud staat bij Pad.

Wat is het verschil tussen Host en Hostnaam?

Hostnaam is alleen de naam. Host (met poort) voegt de poort toe als die expliciet is opgegeven, zoals in example.com:8080.