De werking van URL-codering en -decodering
URL-codering, ook wel procent-codering genoemd, is een methode om informatie in een Uniform Resource Identifier (URI) te vertalen zodat deze veilig via het internet kan worden verzonden. Bepaalde tekens hebben binnen een URL een specifieke betekenis, zoals de / voor paden, de ? voor de query-string en de & voor het scheiden van parameters. Als deze tekens als feitelijke data moeten worden gebruikt, moeten ze worden gecodeerd naar een procent-teken (%) gevolgd door een tweecijferige hexadecimale waarde.
Wanneer gegevens worden gedecodeerd, wordt dit proces omgekeerd. De procent-escapes worden terugvertaald naar hun oorspronkelijke UTF-8-tekens. Dit is essentieel voor ontwikkelaars, content editors en supportmedewerkers die query-waarden, pad-onderdelen of formulier-waarden in URL's moeten coderen, of die bestaande procent-gecodeerde teksten willen lezen.
Het verschil tussen een URL-component en een volledige URL
Bij het coderen of decoderen van URL's is het belangrijk om het juiste bereik te kiezen. Deze tool maakt onderscheid tussen twee niveaus van verwerking:
- Component: Dit niveau maakt gebruik van de JavaScript-functie
encodeURIComponentofdecodeURIComponent. Het is bedoeld voor individuele query-waarden, pad-onderdelen of formulier-waarden. Hierbij worden ook functionele URL-tekens zoals:,/,?,&en=gecodeerd. Het voorbeeldhallo wereld & city=上海wordt hiermee omgezet naarhallo%20wereld%20%26%20city%3D%E4%B8%8A%E6%B5%B7. - Volledige URL: Dit niveau maakt gebruik van de functies
encodeURIofdecodeURI. Dit is de juiste keuze als u een complete URL wilt verwerken en de functionele netwerktekens (zoals de protocol-indicator en domeinscheiders) intact en leesbaar wilt houden.
HTML-entiteiten escapen en unescapen
HTML-entiteit escaping is het proces waarbij specifieke tekens die een speciale betekenis hebben in HTML, worden omgezet in veilige tekenreeksen (entiteiten). Tekens zoals <, >, & en aanhalingstekens kunnen de structuur van een HTML-document verstoren of ongewenste scripts uitvoeren als ze direct in de broncode worden geplaatst.
Door deze tekens te escapen, worden ze omgezet in entiteiten (zoals < voor < of & for &). Dit proces zet ook niet-ASCII-tekst om in entiteiten, zoals het voorbeeld 保存 dat veilig kan worden omgezet voor weergave. Unescaping herstelt deze entiteiten naar hun oorspronkelijke visuele tekens. Dit maakt tekst veilig om direct in HTML-tekst of HTML-attributen te plakken.
Foutafhandeling en ongeldige procent-escapes
Bij het decoderen van URL's moeten alle procent-escapes voldoen aan de standaarden van volledige UTF-8-reeksen. Als een reeks niet compleet is of verkeerd is geformatteerd, kan de decoder de invoer niet correct interpreteren.
Een afgebroken reeks zoals %E0%A4%A mist de benodigde bytes om een geldig UTF-8-teken te vormen. In dergelijke gevallen zal de tool de foutmelding "Deze URL-tekst bevat een ongeldige procent-escape." weergeven. Andere foutmeldingen en limieten binnen de tool zijn:
- Invoerlimiet: De maximale lengte voor invoer is 2.000.000 tekens. Bij overschrijding verschijnt de melding "Die invoer is te lang voor deze tool. Houd het onder de
{max}tekens.". - Geen invoer: Als er geen tekst aanwezig is bij het starten van een actie, toont de tool "Plak eerst een invoer.".
- Tijdslimiet: Als een conversie te zwaar is en te lang duurt, verschijnt de melding "Deze conversie duurt te lang. Probeer een kortere invoer.".
- Algemene fouten: Indien een conversie om andere redenen faalt, toont de interface "Kon deze invoer niet converteren.".
Privacy en lokale verwerking
Wanneer u werkt met gevoelige URL's of HTML-concepten, is gegevensprivacy belangrijk. Deze tool voert alle conversies lokaal uit. Je URL- en HTML-tekst wordt in je browser geconverteerd. Er wordt niets geüpload naar BroBroGo.
Veelgestelde vragen
Moet ik kiezen voor URL-component of volledige URL?
Gebruik 'Component' voor query-waarden, pad-onderdelen of formulier-waarden. Gebruik 'Volledige URL' als je tekens zoals: /? & = leesbaar wilt houden.
Wat verandert het escapen van HTML-entiteiten?
Het zet tekens zoals <, >, &, aanhalingstekens en niet-ASCII-tekst om in entiteiten die veilig kunnen worden geplakt in HTML-tekst of -attributen.
Waarom mislukt URL-decodering soms?
Procent-escapes moeten volledige UTF-8-reeksen zijn. Een afgebroken reeks zoals %E0%A4%A kan niet worden gedecodeerd zonder te gokken.
Is er een verschil tussen coderen/escaping en beveiligingssanitisatie?
Ja. Het coderen van URL's en het escapen van HTML-entiteiten is bedoeld om gegevens technisch compatibel en transporteerbaar te maken binnen hun respectievelijke formaten. Hoewel het helpt om syntaxfouten te voorkomen bij het invoegen van tekst, is het niet hetzelfde als actieve beveiligingssanitisatie, waarbij schadelijke scripts of exploits expliciet uit de invoer worden gefilterd.