Wat is URL Codering?
URL-codering is een mechanisme om gegevens veilig in URL's te verzenden. Dit is waarom het bestaat en hoe het werkt.
Waarom we URL's moeten coderen
URL's hebben beperkingen op welke karakters ze kunnen bevatten. Bepaalde karakters hebben speciale betekenissen: / scheidt paden, ? begint query's, & scheidt parameters, = wijst waarden toe, # markeert fragmenten. Wanneer je gegevens deze karakters bevatten, moet je ze coderen. Anders interpreteert de browser ze als URL-structuur in plaats van data. Een zoekopdracht voor "Tom & Jerry" zonder codering zou breken—de browser denkt dat & een nieuwe parameter begint. Niet-ASCII karakters (accenten, niet-Latijnse scripts, emoji's) zijn niet toegestaan in URL's. Ze moeten worden gecodeerd om veilig te worden verzonden. Dit maakt internationale gegevens mogelijk in URL's.
Hoe percent-encoding werkt
URL-codering, ook bekend als percent-encoding, converteert karakters naar een veilig formaat. Elk gecodeerd karakter wordt een procent-teken (%) gevolgd door twee hexadecimale cijfers. De hexadecimale cijfers vertegenwoordigen de ASCII of UTF-8 byte-waarde van het karakter. Een spatie (ASCII 32, hex 20) wordt %20. Een ampersand (ASCII 38, hex 26) wordt %26. Voor niet-ASCII karakters wordt het karakter eerst geconverteerd naar UTF-8 bytes, dan wordt elke byte percent-gecodeerd. Het Duitse "ü" (UTF-8 bytes C3 BC) wordt %C3%BC. Deze codering is reversibel—decoderen converteert %20 terug naar een spatie, %C3%BC terug naar "ü". Dit stelt gegevens in staat om URL's veilig te reizen en correct worden hersteld aan de andere kant.
Welke karakters te coderen
Reserveerde karakters hebben speciale betekenissen in URL's en moeten worden gecodeerd wanneer ze als data worden gebruikt: : / ? # [ ] @ ! $ & ' ( ) * + , ; = Onveilige karakters die altijd moeten worden gecodeerd: spatie, ", <, >, {, }, |, \, ^, `, en controlekarakters. Niet-ASCII karakters (accenten, niet-Latijnse scripts, emoji's) moeten altijd worden gecodeerd. Veilige karakters die niet hoeven te worden gecodeerd: A-Z, a-z, 0-9, -, _, ., ~ De exacte set van karakters om te coderen hangt af van de URL-component (pad versus query string), maar moderne codeerfuncties behandelen dit correct automatisch.
Probeer de Tool
URL Encoder/Decoder