URL-codering (ook bekend als percentagecodering) is het proces waarbij speciale tekens worden omgezet naar een formaat dat veilig in URL's kan worden gebruikt. Het vervangt tekens die niet zijn toegestaan in URL's (zoals spaties, leestekens of niet-ASCII-tekens) door een procentteken (%), gevolgd door twee hexadecimale cijfers die de ASCII-code van het teken vertegenwoordigen.
Een spatie wordt bijvoorbeeld gecodeerd als %20 en een dubbele punt (:) kan worden gecodeerd als %3A.
Om ervoor te zorgen dat speciale tekens in URL's (zoals spaties, vraagtekens, slashes en ampersands) correct worden weergegeven zonder de URL-structuur te verstoren.
Om niet-ASCII-tekens te coderen (zoals letters met accenten of tekens uit niet-Latijnse alfabetten) om compatibiliteit te garanderen met systemen die alleen ASCII ondersteunen.
Om queryparameters in een URL te coderen, zodat ze correct worden geparseerd door webservers en browsers.
Om kwaadaardige gegevensmanipulatie in URL's te voorkomen door potentieel gevaarlijke tekens te coderen.
URL-codering wordt vaak gedaan met behulp van ingebouwde functies in de meeste programmeertalen.
In JavaScript kun je encodeURIComponent() of encodeURI() gebruiken.
In Python kun je urllib.parse.quote() of urllib.parse.quote_plus() gebruiken.
Hiermee worden tekens die niet veilig zijn in een URL (zoals spaties, &, =, #) vervangen door de bijbehorende gecodeerde waarden.
Bijvoorbeeld:
encodeURIComponent("Hallo Wereld!") retourneert "Hallo%20Wereld%21".
Bij het coderen van queryparameters of formuliergegevens in de URL, zoals in HTTP GET-verzoeken.
Bij het insluiten van speciale tekens (zoals spaties, slashes of niet-ASCII-tekens) in een URL, met name bij interactie met API's of webservices.
Bij het handmatig construeren van URL's en ervoor zorgen dat tekens zoals =, & of ? de URL-structuur niet verstoren.
Bij het maken van korte URL's of gecodeerde links die in een leesbaar en veilig formaat gedeeld moeten worden.