ClockTools-blog

URL-hulpmiddelen

URL coderen versus decoderen: wat is het verschil?

Een omkeerbare, componentbewuste gids voor het coderen en decoderen van URL's.

Door , Ontwikkelaar en Uitgever | | Beoordeeld onder de ClockTools redactioneel beleid

Redactionele illustratie voor URL coderen versus decoderen: wat is het verschil?
Inhoudsopgave

URL-codering converteert tekens die onveilig of betekenisvol zijn in een URL-component naar procentuele drietallen; URL-decodering zet geldige tripletten om in leesbare tekens. Codeer voordat u onbewerkte gegevens in een component invoegt. Decodeer wanneer u een reeds gecodeerde waarde moet inspecteren of gebruiken. Met de ClockTools URL-encoder en URL-decoder kunt u beide richtingen testen zonder de originele tekst te wijzigen.

ClockTools URL-encoder met een zoekopdracht met spaties en een ampersand
ClockTools URL-encoder met een zoekopdracht met spaties en een ampersand

Kies de richting van de invoer

Als de invoer door mensen leesbare gegevens is, zoals summer shoes & bags, codeert u deze voordat u deze in een querywaarde plaatst. Als de invoer al reeksen zoals %20 bevat en u de originele tekens nodig heeft, decodeer deze dan één keer. De WHATWG URL Standaard definieert sets met procentcodering voor het parseren en serialiseren van URL's; RFC 3986 legt de procent-tripletvorm en gereserveerde tekens uit.

U hebtU hebt nodigBewerking
Ruwe querywaardeURL-veilige componentCoderen
Tripletten met procentcoderingLeesbare waardeDecoderen
Volledig geparseerde URLEen gewijzigd veldWijzig dat onderdeel en serialiseer de URL vervolgens

Coderen is geen encryptie. Het maakt de syntaxis ondubbelzinnig; het verbergt geen gevoelige informatie.

Volg een omkeerbaar voorbeeld

Begin met summer shoes & bags. Componentcodering produceert summer%20shoes%20%26%20bags. Spaties worden %20 en de ampersand wordt %26, dus het zijn gegevens in plaats van een scheidingsteken. Door dat resultaat eenmaal te decoderen, wordt de oorspronkelijke frase hersteld.

Omkeerbaar URL-coderings- en decoderingstransformatiediagram
Omkeerbaar URL-coderings- en decoderingstransformatiediagram

Bij de live controle van ClockTools werd een voorbeeld van 74 tekens in URI Component-modus omgezet naar 102 tekens met 14 escapesequenties. Die aantallen gelden alleen voor dat voorbeeld; andere invoer levert andere totalen op.

Respecteer de grenzen van URL-componenten

Een URL bevat onderdelen met verschillende syntaxis: schema, host, pad, query en fragment. De veiligste workflow is om de URL te parseren, de beoogde waarde te wijzigen en deze vervolgens te serialiseren met behulp van de API voor uw omgeving. Het coderen van een volledig samengestelde URL kan scheidingstekens zoals :, /, ? en & omzetten in escapesequenties, terwijl ze hun structurele betekenis moesten behouden.

Het geval van het spatieteken verdient extra aandacht. Generieke procentcodering vertegenwoordigt een spatie als %20. Voor query-serialisatie in HTML-formulierstijl kan in plaats daarvan + worden gebruikt. Lees URL-codering voor een spatie voor dat beperkte interoperabiliteitsprobleem; dit artikel gaat in op de bedieningsrichting, componentkeuze en omkering.

Voorkom dubbele codering

Dubbele codering vindt plaats wanneer gecodeerde tekst opnieuw door een encoder wordt geleid. %20 kan bijvoorbeeld %2520 worden omdat % is gecodeerd als %25. Houd bij of elke waarde onbewerkt of gecodeerd is, codeer op één grens en decodeer slechts zo vaak als het datacontract vereist. RFC 3986 waarschuwt dat procentgecodeerde tekenreeksen niet meer dan één keer zonder duidelijke reden mogen worden gecodeerd of gedecodeerd.

Kopieer bij het debuggen de kleinste component naar de tool, decodeer één keer en vergelijk het resultaat met de verwachte ruwe waarde. Plak nooit geheimen, tokens of privé-URL's in een tool die u niet vertrouwt.

Veelgestelde vragen

Wat is het verschil tussen URL-codering en -decodering?

Codering zet tekens om in een representatie die geschikt is voor overdracht; bij het decoderen worden geldige tripletten met procentcodering omgezet in leesbare tekens.

Moet ik een volledige URL coderen of alleen een component?

Codeer doorgaans de waarde of component die u invoegt, en niet een reeds samengestelde URL met betekenisvolle scheidingstekens.

Waarom bevat een URL soms %2520?

Meestal betekent dit dat %20 opnieuw is gecodeerd: het procentteken werd %25, wat een dubbel gecodeerde waarde oplevert.

Is een plusteken altijd hetzelfde als een spatie?

Nee. Sommige formuliergecodeerde queryparsers behandelen + als een spatie, terwijl algemene URL-percentagecodering %20 gebruikt.

Over de auteur

Vigneshwaran Vijayakumar

Oprichter, ontwikkelaar en uitgever van ClockTools | Digitale marketingmanager | Indië

Vigneshwaran is een ingenieur met tientallen jaren technische ervaring, waaronder professioneel werk als Digital Marketing Manager in Dubai. Zijn werk verbindt data-analyse, zoekmachineoptimalisatie, conversie-optimalisatie, contentsystemen, visuele productie en toegepaste AI en machine learning. Bij ClockTools zet hij die multidisciplinaire ervaring om in gerichte browserhulpprogramma's en praktische, bronbewuste handleidingen.

LinkedIn-profiel